
.material-symbols-rounded{font-family:"Material Symbols Rounded";font-weight:400;font-style:normal;font-size:22px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 24}
.inline-icon{font-size:20px;vertical-align:-4px;margin-right:8px}
.btn .material-symbols-rounded,.btn .mit-icon{font-size:20px}
.nav-icon{font-size:20px;opacity:.9}
.mit-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;vertical-align:middle;flex:0 0 auto}
.mit-icon svg{display:block;width:1em;height:1em;overflow:visible}
.stack-blocks{display:grid;gap:18px}
.support-grid{display:grid;grid-template-columns:minmax(280px,340px) 1fr;gap:18px}
.support-list-card,.support-form-card{min-height:440px}
.support-empty{padding-top:48px;text-align:left}
:root{
  --bg:#f4f4fb;
  --panel:#ffffff;
  --sidebar:#ffffff;
  --line:#dde0eb;
  --line-strong:#d4d8e6;
  --text:#1d2338;
  --muted:#687086;
  --muted-2:#8b93a8;
  --primary:#56bbb4;
  --primary-dark:#2d978f;
  --primary-soft:#e7f8f5;
  --accent-bordeaux:#6abbb2;
  --accent-bordeaux-dark:#4aa89f;
  --accent-bordeaux-soft:rgba(106,187,178,.16);
  --warning:#f0c36a;
  --warning-soft:#fff5df;
  --success:#2fbe71;
  --success-soft:#e9f9ef;
  --danger:#d95d5d;
  --danger-soft:#fdecec;
  --shadow:0 12px 30px rgba(32,35,66,.08);
  --radius-xl:26px;
  --radius-lg:20px;
  --radius-md:16px;
  --radius-sm:12px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
a{color:#275de7;text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
body.auth-body{background:#f7f3ee}
.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:42px 18px;background:linear-gradient(180deg,#f7f3ee 0%,#f2efe9 100%)}
.auth-card{width:100%;max-width:760px;background:#fff;border:1px solid rgba(29,35,56,.08);border-radius:32px;box-shadow:var(--shadow);padding:34px 40px}
.auth-card h1{margin:0 0 12px;font-size:34px;line-height:1.05;text-align:center}
.auth-card .lead{margin:0 auto 24px;max-width:620px;font-size:18px;line-height:1.5;color:#5f677d;text-align:center}
.auth-brand{display:flex;justify-content:center;margin-bottom:24px}
.auth-brand img{width:260px;height:auto}
.mit-locale-switcher{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mit-locale-label{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#7c869c}.mit-locale-list{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mit-locale-list a{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:34px;padding:0 10px;border-radius:999px;border:1px solid #d9ddeb;background:#fff;color:#2f3850;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;text-decoration:none}.mit-locale-list a:hover{border-color:var(--accent-bordeaux);color:var(--accent-bordeaux);background:var(--accent-bordeaux-soft);text-decoration:none}.mit-locale-list a.is-active{border-color:var(--accent-bordeaux);background:var(--accent-bordeaux);color:#fff}.auth-locale-switcher{justify-content:center;margin:-4px 0 18px}
.notice{background:var(--warning-soft);border:1px solid rgba(120,95,45,.15);border-radius:22px;padding:16px 18px;color:#795d2b;margin:0 0 20px}
.notice ul{margin:0;padding-left:18px}
.notice.success{background:var(--success-soft);border-color:rgba(47,190,113,.2);color:#26724f}
.field{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}
.field label{font-weight:700;font-size:14px;color:#20263b}
.field.field-inline-action{gap:8px}.field.field-inline-action--stacked{align-items:stretch}.field-inline-action__toolbar{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap}.field-label-row--stacked{justify-content:flex-start}
.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.field-label-row label{margin:0}
.field-label-row .btn{white-space:nowrap}
.field input,.field select,.field textarea{width:100%;border:1px solid #cfd3e0;border-radius:20px;padding:17px 18px;background:#fff;color:#1d2338;outline:none}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(86,187,180,.12)}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:18px;padding:14px 22px;font-weight:800;border:1px solid transparent;cursor:pointer;text-decoration:none}
.btn:hover{text-decoration:none}
.btn-primary{background:#378b7d;color:#fff}
.btn-primary:hover{background:#2c7c6f}
.btn-secondary{background:#ede3d8;color:#20263b}
.btn-secondary:hover{background:#e7dacd}
.btn-ghost{background:#fff;border-color:#d7dbe8;color:#313854}
.btn-pill{padding:9px 18px;border-radius:14px;font-weight:700;font-size:14px}
.links{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;margin-top:18px}
.links.compact{margin-top:14px}
.switchline{margin-top:18px;text-align:center;color:#646d83}
.debug-box{margin-top:24px;padding:20px;border:1px dashed #cdd1de;border-radius:24px;background:#fbfbfd}
.debug-box h2{margin:0 0 12px;font-size:20px}.debug-box strong{display:block;margin-top:12px}
.debug-box pre{white-space:pre-wrap;background:#fff;border:1px solid #e0e3ec;border-radius:18px;padding:16px;color:#21263b;overflow:auto}
.choice-list{display:grid;gap:14px;margin-top:12px}.choice{display:flex;flex-direction:column;gap:4px;padding:18px;border:1px solid #d8dce8;border-radius:22px;background:#fff;color:#1d2338}.choice:hover{border-color:var(--primary);text-decoration:none}
.checkline{display:flex;align-items:center;gap:10px;color:#586175;margin-bottom:8px}.checkline--toggle{justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;border:1px solid #dce4ef;border-radius:18px;background:#fff}.checkline__copy{display:grid;gap:4px;min-width:0}.checkline__copy strong{font-size:14px;color:#23304a;line-height:1.3}.checkline__copy span{font-size:12px;color:#6c7388;line-height:1.45}
.portal{display:flex;min-height:100vh;background:var(--bg)}
.portal-sidebar{width:232px;flex:0 0 232px;background:var(--sidebar);border-right:1px solid var(--line);padding:18px 12px 26px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:hidden}
.portal-brand{padding:0 6px 18px}.portal-brand img{width:130px}
.portal-avatar{width:106px;height:106px;border-radius:50%;object-fit:cover;border:3px solid #e8edf5;margin:8px auto 20px;background:#dfe6ef}
.portal-nav{display:flex;flex-direction:column;gap:4px;flex:1 1 auto;min-height:0;overflow:auto;padding-bottom:14px}
.portal-nav a{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;color:#2f3850;font-weight:700;text-decoration:none}
.portal-nav a:hover{background:#f3f7fb}
.portal-nav a.is-active{background:#56bbb4;color:#fff;box-shadow:0 8px 20px rgba(86,187,180,.28)}

.portal-sidebar-bottom{margin-top:auto;padding-top:18px;border-top:1px solid #eceff6;display:grid;gap:12px;align-items:stretch;flex:0 0 auto}
.portal-sidebar-utilities{display:flex;align-items:center;gap:10px;width:100%}.portal-sidebar-utilities > *{min-width:0}
.portal-locale-switcher{padding:0;align-items:flex-start;flex-direction:column;flex:1 1 auto}.portal-locale-switcher .mit-locale-list{width:100%}.portal-locale-switcher .mit-locale-list a{flex:1 1 0;text-align:center;min-width:0}
.portal-sidebar-bottom a{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;color:#1f263b;font-weight:800;text-decoration:none}.portal-logout-link{width:auto;justify-content:center;border:1px solid #d8dfea;background:#fff;box-shadow:0 8px 18px rgba(20,28,44,.06);flex:0 0 auto}.portal-sidebar-bottom .portal-logout-link:hover{background:#f5f8fc;border-color:#c9d3e3}
.portal-sidebar-bottom a:hover{background:#f3f6fb}
.portal-main{flex:1;min-width:0;padding:26px 22px 32px}
.portal-main > .mit-card + .mit-card,.portal-main > section + section,.portal-main > .metrics + .mit-card,.portal-main > .metrics + section,.portal-main > .mit-card + .metrics,.portal-main > section + .metrics{margin-top:30px}
.page-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}
.page-head h1{margin:0 0 4px;font-size:31px;line-height:1.1}
.page-head p{margin:0;color:#647085;font-size:18px}
.page-actions{display:flex;gap:10px;flex-wrap:wrap}
.mit-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow)}
.mit-card.pad{padding:20px 22px}
.mit-stack{display:grid;gap:18px}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.metric{padding:20px 18px}.metric .label{font-size:13px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#6c7388;margin-bottom:10px}.metric .value{font-size:26px;font-weight:900;line-height:1.05}.metric .sub{margin-top:8px;color:#697289;font-size:13px}
.progress-wrap{padding:14px 18px}.progress-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px;font-size:14px;font-weight:800}.progress-track{height:10px;border-radius:999px;background:#dfe6ef;overflow:hidden}.progress-bar{height:100%;background:#09b27a;border-radius:999px}.chip-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;border:1px solid rgba(86,187,180,.45);font-size:14px;background:#fff;color:#304058}.chip.ok{background:#ecfbf8;color:#2b796c}.chip.miss{background:#f6f7fb;color:#697289;border-color:#d8dde9}
.warning-banner{margin-top:12px;border-radius:16px;padding:12px 14px;background:#fff3e4;border:1px solid rgba(214,155,60,.42);color:#9b5a15;font-weight:700}
.hero{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;padding:26px;border-radius:28px;background:linear-gradient(135deg,#56bbb4 0%,#62c0b1 40%,#8fd2c7 100%);color:#fff;position:relative;overflow:hidden;min-height:210px}
.hero:after{content:"";position:absolute;right:-40px;top:-40px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.12)}
.hero-content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center}
.hero-eyebrow{display:inline-block;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.18);font-weight:800;font-size:12px;align-self:flex-start;margin-bottom:14px}
.hero h2{margin:0 0 10px;font-size:54px;line-height:.98;max-width:12ch}
.hero p{margin:0;max-width:560px;font-size:22px;line-height:1.45;color:rgba(255,255,255,.92)}
.hero-visual{display:flex;align-items:center;justify-content:center;position:relative;z-index:1}
.hero-visual .bubble{width:250px;height:170px;border-radius:28px;background:rgba(255,255,255,.16);backdrop-filter:blur(2px);position:relative}
.hero-visual .bubble:before,.hero-visual .bubble:after{content:"";position:absolute;border-radius:28px;background:rgba(255,255,255,.9)}
.hero-visual .bubble:before{width:92px;height:92px;left:28px;top:38px;clip-path:ellipse(42% 48% at 50% 50%)}
.hero-visual .bubble:after{width:96px;height:96px;right:28px;top:34px;clip-path:ellipse(42% 48% at 50% 50%)}
.grid-2-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.section-card{padding:20px 22px}.section-card h3{margin:0 0 6px;font-size:22px}.section-card .section-sub{color:#676f86;margin:0 0 18px}
.table{width:100%;border-collapse:collapse}.table th,.table td{padding:13px 8px;border-bottom:1px solid #eceff6;vertical-align:top}.table th{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:#6c7388;text-align:left}.table td{font-size:15px;color:#1f273c}.table tr:last-child td{border-bottom:0}
.list-empty{padding:42px 14px;text-align:center;color:#7a8296}
.pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}
.pill.status-approved,.pill.status-paid,.pill.status-open,.pill.status-active{background:var(--success-soft);color:#26724f}
.pill.status-pending,.pill.status-unpaid{background:#fff7df;color:#86621c}
.pill.status-cancelled,.pill.status-rejected,.pill.status-closed{background:var(--danger-soft);color:#a24646}
.page-card{padding:26px}.page-card h2{margin:0 0 16px;font-size:22px}
.filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.filters.wide{grid-template-columns:1.2fr 1.2fr 1fr 1fr}.filters .field{margin-bottom:0}.filters-actions{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.filters-inline{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto auto;gap:14px;align-items:end}
.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:20px}.calendar-title-nav{display:flex;align-items:center;gap:24px}.calendar-title{font-size:22px;font-weight:900}.calendar-switch{display:inline-flex;gap:0;background:#fff;border:1px solid #d9deea;border-radius:16px;padding:4px}.calendar-switch a{padding:8px 14px;border-radius:12px;color:#616a80;font-weight:800;text-decoration:none}.calendar-switch a.active{background:#56bbb4;color:#fff}.calendar-toolbar-note{margin:-6px 0 18px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff}.calendar-day-head{padding:18px 14px;background:#f3f5fb;border-bottom:1px solid var(--line);font-weight:800;color:#40495f;text-align:center}.calendar-cell{min-height:148px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 10px;display:flex;flex-direction:column;gap:8px;background:#fff}.calendar-cell:nth-child(7n){border-right:0}.calendar-num{align-self:flex-end;font-size:14px;color:#6f778c}.calendar-cell.other{background:#fafbfe;color:#a4abbb}.calendar-cell.today{background:#f2fcfa}.calendar-event,.calendar-list-item{--mit-calendar-bg:#dcf3ee;--mit-calendar-border:#56bbb4;--mit-calendar-accent:#1f6e67;--mit-calendar-soft:rgba(86,187,180,.08)}.calendar-event{display:flex;flex-direction:column;gap:4px;padding:10px 10px;border-radius:12px;background:var(--mit-calendar-bg);border-top:4px solid var(--mit-calendar-border);box-shadow:inset 0 0 0 1px var(--mit-calendar-soft);font-size:13px;color:#1e2a40}.calendar-event strong{font-size:14px;line-height:1.3}.calendar-event__line,.calendar-list-item__line{font-size:12px;line-height:1.35;color:#36506b}.calendar-event__badges,.calendar-list-item__badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.calendar-mini-pill{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.62);color:var(--mit-calendar-accent);font-size:11px;font-weight:800}.calendar-mini-pill.status-approved,.calendar-mini-pill.status-paid{background:rgba(38,114,79,.14);color:#26724f}.calendar-mini-pill.status-pending,.calendar-mini-pill.status-unpaid{background:rgba(255,247,223,.88);color:#86621c}.calendar-mini-pill.status-cancelled,.calendar-mini-pill.status-rejected,.calendar-mini-pill.status-failed,.calendar-mini-pill.status-refunded{background:rgba(247,229,229,.88);color:#a24646}.calendar-list{display:grid;gap:12px}.calendar-list-item{display:grid;gap:8px;padding:14px 16px;border:1px solid var(--mit-calendar-soft);border-left:4px solid var(--mit-calendar-border);border-radius:18px;background:var(--mit-calendar-bg)}.calendar-list-item strong{display:block;margin-bottom:2px;font-size:15px}.calendar-list-item__meta{display:grid;gap:4px}.availability-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.badge-row{display:flex;gap:8px;flex-wrap:wrap}.text-muted{color:#6e7690}.profile-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.profile-box{padding:22px}.profile-box h3{margin:0 0 12px;font-size:20px}.profile-pic-lg{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid #edf2f8;background:#e0e6ef}.placeholder-card{padding:34px;text-align:center}.placeholder-card h2{margin:0 0 12px;font-size:26px}.placeholder-card p{margin:0 auto;max-width:720px;color:#667088;line-height:1.6}
.calendar-week-layout{display:grid;grid-template-columns:84px repeat(7,minmax(170px,1fr));grid-template-rows:auto 1fr;border:1px solid var(--line);border-radius:24px;overflow:auto;background:#fff;box-shadow:0 8px 24px rgba(24,33,52,.04)}.calendar-week-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 14px;background:#f6f8fc;border-bottom:1px solid var(--line);border-left:1px solid var(--line);min-width:0}.calendar-week-header--corner{border-left:0;background:#f6f8fc}.calendar-week-header.today{background:#eef9f7}.calendar-week-header__meta{display:flex;align-items:baseline;gap:8px;min-width:0}.calendar-week-header__weekday{font-size:13px;font-weight:800;color:#70788f;text-transform:uppercase;letter-spacing:.04em}.calendar-week-header__date{font-size:24px;font-weight:900;color:#1f273c;line-height:1}.calendar-week-times,.calendar-week-column{position:relative;height:var(--mit-calendar-week-height);min-height:var(--mit-calendar-week-height)}.calendar-week-times{background:#fafbfd;border-right:1px solid var(--line)}.calendar-week-time{position:absolute;left:0;right:10px;transform:translateY(-50%);padding-right:10px;text-align:right;font-size:12px;font-weight:700;color:#79829a}.calendar-week-time.is-hour{color:#50596f}.calendar-week-column{border-left:1px solid var(--line);background-color:#fff;background-image:repeating-linear-gradient(to bottom, rgba(217,222,234,.62) 0, rgba(217,222,234,.62) 1px, transparent 1px, transparent var(--mit-calendar-week-slot-height));cursor:pointer}.calendar-week-column.today{background-color:#fbfdfb}.calendar-week-column::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(to bottom, rgba(217,222,234,.18) 0, rgba(217,222,234,.18) calc(var(--mit-calendar-week-slot-height) / 2), transparent calc(var(--mit-calendar-week-slot-height) / 2), transparent var(--mit-calendar-week-slot-height));pointer-events:none}.calendar-week-event{position:absolute;display:flex;flex-direction:column;gap:4px;padding:10px 10px;border-radius:16px;background:var(--mit-calendar-bg);border-top:4px solid var(--mit-calendar-border);box-shadow:0 10px 24px rgba(24,33,52,.08),inset 0 0 0 1px var(--mit-calendar-soft);font-size:13px;color:#1e2a40;overflow:hidden;z-index:2}.calendar-week-event strong{font-size:15px;line-height:1.3}.calendar-week-event .calendar-event__line{display:block}.calendar-week-event .calendar-event__badges{margin-top:auto}.calendar-week-event:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(24,33,52,.11),inset 0 0 0 1px var(--mit-calendar-soft)}.page-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:18px}.page-toolbar h2{margin:0;font-size:22px}.page-toolbar p{margin:6px 0 0;color:#697289}
.patient-shell .portal-main{padding-top:32px}
.stat-grid-compact{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:18px}
.mini-stat{padding:18px 20px}
.mini-stat .mini-label{font-size:13px;text-transform:uppercase;color:#71788c;font-weight:800;margin-bottom:8px}
.mini-stat .mini-value{font-size:26px;font-weight:900}
@media (max-width:1280px){.metrics,.stat-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr}.profile-grid,.grid-2-col,.availability-columns,.filters,.filters.wide,.filters-inline{grid-template-columns:1fr 1fr}.portal-sidebar{width:210px;flex-basis:210px}.hero h2{font-size:42px}.hero p{font-size:18px}}
@media (max-width:980px){.portal{display:block}.portal-sidebar{position:static;height:auto;width:auto;border-right:0;border-bottom:1px solid var(--line)}.portal-main{padding:18px}.grid-2-col,.profile-grid,.availability-columns,.filters,.filters.wide,.filters-inline,.grid-2,.support-grid{grid-template-columns:1fr}.auth-card{padding:28px 22px}.auth-brand img{width:220px}.hero h2{font-size:36px}.calendar-week-layout{grid-template-columns:68px repeat(7,minmax(140px,1fr))}.calendar-week-header{padding:14px 10px}.calendar-week-header__date{font-size:20px}}
@media (max-width:640px){.metrics,.stat-grid-compact{grid-template-columns:1fr}.page-head h1{font-size:27px}.calendar-grid{grid-template-columns:1fr}.calendar-day-head{display:none}.calendar-cell{border-right:0;min-height:auto}.calendar-week-layout{grid-template-columns:68px repeat(7,minmax(132px,1fr));border-radius:18px}.calendar-week-header{padding:12px 8px}.calendar-week-header__meta{gap:6px;flex-direction:column;align-items:flex-start}.calendar-week-header__weekday{font-size:11px}.calendar-week-header__date{font-size:18px}.calendar-week-event{padding:8px 8px;border-radius:14px}.calendar-week-event strong{font-size:13px}.portal-nav a{padding:12px 14px}.section-card,.page-card,.mit-card.pad,.progress-wrap{padding:18px}.auth-card{border-radius:24px}.hero{padding:22px}.hero h2{font-size:32px}}
.notice{margin-bottom:18px}
.date-field-wrap{position:relative}
.date-field{padding-right:48px!important;background:#fff;cursor:pointer}
.date-field-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:18px;pointer-events:none;color:#778099}
.mit-date-picker{position:absolute;z-index:1000;background:#fff;border:1px solid #d8deea;border-radius:22px;box-shadow:0 18px 42px rgba(26,34,56,.16);padding:16px;min-width:290px}
.mit-date-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.mit-date-picker-head strong{font-size:16px}
.mit-date-picker-head .nav,.mit-date-picker-foot button{border:0;background:#eff7f5;color:#256e67;border-radius:12px;padding:8px 12px;font-weight:800;cursor:pointer}
.mit-date-picker-weekdays,.mit-date-picker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.mit-date-picker-weekdays{margin-bottom:8px}
.mit-date-picker-weekdays span{font-size:12px;font-weight:800;color:#7b8499;text-align:center;padding:4px 0}
.mit-date-picker-day{border:0;background:#f6f8fc;border-radius:12px;padding:10px 0;font-weight:700;color:#25304a;cursor:pointer}
.mit-date-picker-day.is-other{color:#a6aec1;background:#fafbfd}
.mit-date-picker-day.is-selected{background:#56bbb4;color:#fff;box-shadow:0 10px 18px rgba(86,187,180,.28)}
.mit-date-picker-day:hover{background:#dff5f1}
.mit-date-picker-foot{display:flex;justify-content:space-between;gap:10px;margin-top:14px}
.service-summary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 16px;border-radius:16px;background:#eef7f5;color:#2c7c73;font-weight:800}
.service-editor-form{display:grid;gap:16px}
.service-editor-head,.service-editor-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.service-editor-head strong{display:block;font-size:18px;margin-bottom:4px}
.service-editor-head span,.service-editor-foot span{color:#6b7489}
.service-editor-table-wrap{overflow:auto;border:1px solid #e7ebf3;border-radius:22px}
.invoice-tax-input{width:100%;min-width:140px}
.service-editor-table{min-width:760px}
.service-row.is-disabled{opacity:.72;background:#fbfcff}
.service-row.is-enabled{background:#f8fffd}
.service-name{font-size:16px;font-weight:800;color:#1f273c;margin-bottom:4px}
.service-description{color:#6e7690;max-width:48ch;line-height:1.45}
.toggle-switch{position:relative;display:inline-flex;width:58px;height:32px}
.toggle-switch input{position:absolute;opacity:0;pointer-events:none}
.toggle-switch span{position:absolute;inset:0;border-radius:999px;background:#d8dde9;transition:.2s ease}
.toggle-switch span:after{content:"";position:absolute;width:24px;height:24px;border-radius:50%;background:#fff;top:4px;left:4px;box-shadow:0 4px 10px rgba(0,0,0,.16);transition:.2s ease}
.toggle-switch input:checked + span{background:#56bbb4}
.toggle-switch input:checked + span:after{transform:translateX(26px)}
.service-input-group{display:inline-flex;align-items:center;gap:10px;padding:6px 12px;border:1px solid #d5dbe7;border-radius:16px;background:#fff;min-width:128px}
.service-input-group.money{min-width:160px}
.service-input-group span{font-weight:800;color:#627085}
.service-number{border:0;background:transparent;width:100%;padding:8px 0;color:#1d2338;outline:none;text-align:right}
.service-number::-webkit-outer-spin-button,.service-number::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
@media (max-width:980px){.service-editor-head,.service-editor-foot{align-items:flex-start}.service-summary{width:100%}}


.profile-shell{display:grid;gap:22px}
.profile-shell .page-card{overflow:hidden}
.profile-section .page-toolbar{margin-bottom:20px}
.profile-account-line{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.account-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#f2f6fb;color:#2a3348;font-weight:700}
.profile-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.profile-two-col.align-start{align-items:start}
.field.field-inline-check{display:flex;flex-direction:column;justify-content:flex-end}
.field.field-span-2{grid-column:1 / -1}
.image-uploader{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:start}
.image-preview{width:150px;height:150px;border-radius:18px;overflow:hidden;background:#eef2f7;border:1px solid #dde4ef;display:flex;align-items:center;justify-content:center}
.image-preview img{width:100%;height:100%;object-fit:cover}
.image-placeholder{font-size:52px;color:#8b96aa}
.image-controls{display:grid;gap:12px}
.helper-text{margin:6px 0 0;color:#6f778c;font-size:13px;line-height:1.45}
.js-appointment-submit-helper{color:var(--danger);font-weight:800}
.js-appointment-submit-helper:not(:empty){padding:4px 0 0}
.taxonomy-section{border-top:1px solid #edf1f7;padding-top:18px;margin-top:18px}
.taxonomy-section:first-of-type{border-top:0;padding-top:0;margin-top:0}
.taxonomy-head{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.taxonomy-head h3{margin:0;font-size:19px}
.taxonomy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.taxonomy-grid.compact{max-height:360px;overflow:auto;padding-right:4px}
.tax-pill{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #dde4ef;border-radius:16px;background:#fff;cursor:pointer;min-height:52px}
.tax-pill input{margin:0}
.tax-pill span{font-weight:600;color:#273047}

/* Therapist profile: taxonomy choices are shown as clear on/off toggles instead of native checkboxes. */
.profile-shell .taxonomy-grid .tax-pill{position:relative;padding-right:70px}
.profile-shell .taxonomy-grid .tax-pill input[type="checkbox"]{position:absolute;opacity:0;pointer-events:none}
.profile-shell .taxonomy-grid .tax-pill span{display:block;padding-right:4px}
.profile-shell .taxonomy-grid .tax-pill span:before{content:"";position:absolute;right:14px;top:50%;width:42px;height:24px;border-radius:999px;background:#d8dde9;transform:translateY(-50%);transition:.18s ease;box-shadow:inset 0 0 0 1px rgba(15,23,42,.08)}
.profile-shell .taxonomy-grid .tax-pill span:after{content:"";position:absolute;right:34px;top:50%;width:18px;height:18px;border-radius:50%;background:#fff;transform:translateY(-50%);box-shadow:0 3px 8px rgba(15,23,42,.18);transition:.18s ease}
.profile-shell .taxonomy-grid .tax-pill input[type="checkbox"]:checked + span:before{background:#56bbb4}
.profile-shell .taxonomy-grid .tax-pill input[type="checkbox"]:checked + span:after{right:17px}
.profile-shell .taxonomy-grid .tax-pill input[type="checkbox"]:focus-visible + span:before{outline:2px solid rgba(86,187,180,.35);outline-offset:2px}
.profile-shell .taxonomy-grid .tax-pill--readonly{padding-right:14px}
.profile-shell .taxonomy-grid .tax-pill--readonly span:before,.profile-shell .taxonomy-grid .tax-pill--readonly span:after{display:none}
.compact-field{margin-top:14px}
.notification-matrix-wrap{overflow:auto;margin-top:14px}
.notification-matrix{width:100%;border-collapse:collapse}
.notification-matrix th,.notification-matrix td{padding:12px 10px;border-bottom:1px solid #eceff6;text-align:left}
.notification-matrix th{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#697289}
.notification-matrix td:last-child,.notification-matrix th:last-child{text-align:center}
.notification-matrix td:nth-child(2),.notification-matrix th:nth-child(2),.notification-matrix td:nth-child(3),.notification-matrix th:nth-child(3){text-align:center}
.notification-matrix .notification-matrix-toggle{margin:auto}
.service-tax-responsibility{font-weight:650;color:#4d5872}
.profile-bottom-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-start;margin-top:18px}
.checkbox-stack{display:grid;gap:10px}
.support-thread-list{display:grid;gap:12px}
.support-ticket{padding:14px 16px;border:1px solid #e7ebf3;border-radius:18px;background:#fff}
.support-ticket p{margin:10px 0 0;color:#3b4560;line-height:1.55}
.support-ticket-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.compact-shell .profile-two-col{margin-top:4px}
@media (max-width:980px){.profile-two-col,.image-uploader,.taxonomy-grid{grid-template-columns:1fr}.field.field-span-2{grid-column:auto}.image-preview{width:120px;height:120px}}


.table-row-selected{background:#f1fbf8}
.btn.btn-xs{padding:10px 14px;font-size:13px;border-radius:12px}
.detail-grid{margin-top:18px}
.detail-card{display:grid;gap:14px}
.integration-detail-card{align-content:start}
.integration-action-grid{display:flex;flex-wrap:wrap;gap:10px}
.integration-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.integration-meta-grid--single{grid-template-columns:1fr}
.integration-meta-box{display:grid;gap:6px;padding:14px 16px;border:1px solid #e7ebf3;border-radius:18px;background:#fff}
.integration-meta-box strong{font-size:13px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#6d768c}
.integration-meta-box span{font-weight:700;color:#273149;line-height:1.45}
.integration-meta-box small{color:#6f7890;line-height:1.5}
.automation-preview-grid{margin-top:18px}
.integration-preview-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.integration-preview-block{display:grid;gap:8px;padding:16px;border:1px solid #e7ebf3;border-radius:18px;background:#fff}
.integration-preview-block strong{font-size:13px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#6d768c}
.integration-preview-block span{color:#273149;line-height:1.6}
.detail-list{display:grid;gap:12px;margin:0}
.detail-list div{padding:14px 16px;border:1px solid #e7ebf3;border-radius:16px;background:#fbfcff}
.detail-list dt{margin:0 0 6px;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#6d768c}
.detail-list dd{margin:0;font-weight:700;color:#273149;display:grid;gap:4px}
.detail-list dd span{font-weight:500;color:#6f7890}
.timeline-list{display:grid;gap:12px}
.timeline-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid #e7ebf3;border-radius:16px;background:#fff}
.timeline-item strong{font-size:14px;color:#25304a}
.timeline-item span{font-size:13px;color:#6f7890}
.action-stack{display:grid;gap:14px}
.api-action-form,.api-inline-action{padding:14px 16px;border:1px solid #e7ebf3;border-radius:18px;background:#fff}
.api-inline-action{display:flex;align-items:center;justify-content:flex-start}
.api-inline-action .btn{width:100%}
.action-inline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.action-inline-grid .api-inline-action{height:100%}
.action-inline-grid .btn{width:100%;justify-content:center}
.compact-shell{gap:12px}
.compact-check{font-size:13px}
.availability-editor-form{display:grid;gap:18px}
.availability-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}
.availability-side-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;min-width:0}
.availability-panel{display:grid;gap:14px;align-content:start;min-width:0}
.availability-panel__head{display:grid;gap:6px}
.availability-panel__head h3{margin:0;font-size:22px}
.availability-panel__head .section-sub{margin:0;color:#676f86}
.availability-editor-columns{align-items:start}
.availability-table-wrap{background:#fff}
.availability-table-wrap--hours .compact-editor-table{min-width:100%;width:100%}
.availability-table-wrap--days-off .compact-editor-table,.availability-table-wrap--special .compact-editor-table{min-width:100%;width:100%}
.availability-table-wrap--days-off .compact-editor-table th:nth-child(1),.availability-table-wrap--days-off .compact-editor-table td:nth-child(1){min-width:180px}
.availability-table-wrap--days-off .compact-editor-table th:nth-child(3),.availability-table-wrap--days-off .compact-editor-table td:nth-child(3){min-width:210px}
.availability-table-wrap--special .compact-editor-table th:nth-child(1),.availability-table-wrap--special .compact-editor-table td:nth-child(1){min-width:180px}
.availability-editor-form .service-editor-table-wrap{box-shadow:inset 0 0 0 1px rgba(127,40,71,.04)}
.compact-editor-table input,.compact-editor-table select{min-width:0}
.availability-editor-form input:not([type="checkbox"]):not([type="hidden"]),.availability-editor-form select,.availability-preview-form input:not([type="checkbox"]):not([type="hidden"]),.availability-preview-form select{border-color:#dac2cb;border-radius:18px}
.availability-editor-form input:not([type="checkbox"]):not([type="hidden"]):focus,.availability-editor-form select:focus,.availability-preview-form input:not([type="checkbox"]):not([type="hidden"]):focus,.availability-preview-form select:focus{border-color:var(--accent-bordeaux);box-shadow:0 0 0 4px var(--accent-bordeaux-soft)}
.availability-editor-form .compact-check{font-size:13px;font-weight:700;color:#5f4b57;white-space:nowrap}
.availability-editor-form .compact-check input[type="checkbox"]{accent-color:var(--accent-bordeaux)}
.availability-time-select{cursor:pointer}
.availability-preview-form{align-items:end}
.availability-debug-note{display:inline-flex;align-items:center}
.slot-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.slot-day-card{display:grid;gap:12px;padding:16px 18px;border:1px solid #e7ebf3;border-radius:20px;background:#fff}
.slot-day-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.slot-day-head strong{font-size:15px;color:#24304a}
.slot-day-head span{font-size:13px;color:#6e7690;font-weight:700}
.slot-chip-row{display:flex;gap:10px;flex-wrap:wrap}
.slot-chip{display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:999px;background:#eff7f5;color:#256e67;font-weight:800;font-size:13px}
@media (max-width:1280px){.availability-layout{grid-template-columns:1fr}.availability-side-stack{grid-template-columns:1fr}.slot-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-list--two-col{grid-template-columns:1fr}}
@media (max-width:980px){.integration-meta-grid,.integration-preview-panel{grid-template-columns:1fr}}
@media (max-width:640px){.timeline-item,.slot-day-head{flex-direction:column;align-items:flex-start}.slot-preview-grid{grid-template-columns:1fr}.btn.btn-xs{width:100%}.integration-action-grid .btn{width:100%}.utility-stats{grid-template-columns:1fr}.utility-stat__top{grid-template-columns:1fr}.utility-stat__value{text-align:left}.patient-note-tabs__track{display:grid;grid-template-columns:1fr}.patient-log-buttons{display:grid}.detail-list--two-col{grid-template-columns:1fr}.action-inline-grid{grid-template-columns:1fr}}

.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.mit-modal-open{overflow:hidden}
.portal-sidebar-bottom{display:grid;align-items:stretch;justify-content:stretch;gap:12px}
.portal-sidebar-utilities{display:flex;align-items:center;justify-content:stretch;gap:10px;width:100%}
.portal-locale-switcher.compact-locale-switcher{padding:0;display:flex;align-items:center;justify-content:flex-start;flex:1 1 auto;min-width:0}
.mit-locale-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;min-width:96px;height:42px;border:1px solid #d9ddeb;border-radius:14px;background:#fff;color:#2f3850;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:0 34px 0 14px;background-image:linear-gradient(45deg,transparent 50%,#627085 50%),linear-gradient(135deg,#627085 50%,transparent 50%);background-position:calc(100% - 18px) 17px,calc(100% - 13px) 17px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}
.mit-locale-select:focus{outline:none;border-color:var(--accent-bordeaux);box-shadow:0 0 0 4px var(--accent-bordeaux-soft)}
.portal-sidebar-bottom .portal-logout-link,.portal-sidebar-bottom > a{margin-left:0;justify-content:center}
.dashboard-utility-grid{display:grid;grid-template-columns:1.25fr .95fr;gap:18px;margin-top:18px}
.utility-card{padding:22px 24px;display:grid;gap:18px}
.utility-card h2,.utility-card h3{margin:0}
.utility-card p{margin:0;color:#667085;line-height:1.55}
.utility-chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.utility-chip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-radius:18px;border:1px solid #e4eaf3;background:#fbfcff;color:#22304a;font-weight:800;text-decoration:none}
.utility-chip:hover{border-color:var(--primary);background:#f3fbf9;text-decoration:none}
.utility-chip span:last-child{font-size:13px;color:#6c758c;font-weight:700}
.utility-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.utility-stat{padding:18px;border-radius:18px;border:1px solid #e4eaf3;background:#fff;display:grid;gap:10px}
.utility-stat__top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px}
.utility-stat__title{display:flex;align-items:center;gap:10px;min-width:0}
.utility-stat__icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:#eef8f7;color:#2f7c74;font-size:22px;line-height:1;flex:0 0 auto;box-shadow:inset 0 0 0 1px rgba(47,124,116,.06)}
.utility-stat__icon svg{display:block;width:22px;height:22px;stroke:currentColor}
.utility-stat__value{display:block;font-size:clamp(28px,3vw,38px);font-weight:900;color:#1f273c;line-height:1;text-align:right;white-space:nowrap}
.utility-stat strong{display:block;font-size:14px;text-transform:uppercase;letter-spacing:.05em;color:#707990;margin:0;line-height:1.2}
.utility-stat small{display:block;margin-top:0;color:#707990;line-height:1.5}
.appointment-detail-card-shell{margin-top:24px}

/* cancelled appointment visuals */
.calendar-event.is-cancelled, .calendar-week-event.is-cancelled, .calendar-list-item.is-cancelled {
  opacity: 0.65;
}
.calendar-event.is-cancelled strong,
.calendar-event.is-cancelled .calendar-event__line,
.calendar-week-event.is-cancelled strong,
.calendar-week-event.is-cancelled .calendar-event__line,
.calendar-list-item.is-cancelled strong,
.calendar-list-item.is-cancelled .calendar-list-item__line {
  text-decoration: line-through;
}

.detail-list--two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.detail-list--two-col > div{margin:0}
.inline-log-buttons{display:flex;flex-wrap:wrap;gap:10px}
.detail-note-box{padding:16px 18px;border:1px solid #e6ebf3;border-radius:18px;background:#f9fbff;color:#24304a;line-height:1.65}
.patient-note-tabs{display:grid;gap:14px}
.patient-note-tabs__head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.patient-note-tabs__nav{display:flex;align-items:center;gap:8px}
.patient-note-tabs__track{display:flex;gap:10px;flex-wrap:wrap}
.patient-note-tab{border:1px solid #d8deea;border-radius:999px;background:#fff;color:#2f3850;padding:10px 14px;font-weight:800;cursor:pointer;min-width:0}
.patient-note-tab[hidden]{display:none!important}
.patient-note-tab.is-active{background:#eff7f5;border-color:#b7ddd7;color:#1f6e67}
.patient-note-panel{padding:16px 18px;border:1px solid #e6ebf3;border-radius:20px;background:#fbfcff;display:grid;gap:10px}
.patient-note-panel__meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.patient-note-panel__title{font-weight:800;color:#22304a}
.patient-note-panel__body{color:#344054;line-height:1.7;white-space:pre-wrap}
.patient-log-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.utility-card .section-sub{max-width:62ch}
.utility-stat__title strong{margin:0}
.utility-stat .utility-stat__title .mit-icon{flex:0 0 auto}
.calendar-grid--interactive .calendar-cell{position:relative;transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;cursor:pointer}
.calendar-grid--interactive .calendar-cell:hover,.js-calendar-day:hover{border-color:var(--primary);box-shadow:0 12px 28px rgba(38,56,82,.08)}
.calendar-grid--interactive .calendar-cell:hover{transform:translateY(-2px)}
.calendar-cell-head,.calendar-day-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.calendar-quick-add{width:34px;height:34px;border:1px solid #d8dfea;border-radius:12px;background:#fff;color:#2f3850;font-size:20px;line-height:1;cursor:pointer}
.calendar-quick-add:hover{background:#eff7f5;border-color:var(--primary);color:#256e67}
.calendar-day-panel-head{margin-bottom:14px}
.calendar-more-events{margin-top:8px;font-size:13px;font-weight:800;color:#687086}
.mit-modal{position:fixed;inset:0;display:grid;place-items:center;padding:22px;z-index:1400}
.mit-modal[hidden],.mit-modal[aria-hidden="true"]{display:none!important}
.mit-modal__backdrop{position:absolute;inset:0;background:rgba(14,20,35,.52);backdrop-filter:blur(2px)}
.mit-modal__dialog{position:relative;z-index:1;width:min(760px,100%);max-height:calc(100vh - 44px);overflow:auto;background:#fff;border:1px solid #dbe1ec;border-radius:28px;box-shadow:0 22px 46px rgba(18,28,45,.22);padding:24px 24px 22px}
.mit-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.mit-modal__head h3{margin:0 0 4px;font-size:24px}
.mit-modal__close{width:42px;height:42px;border:1px solid #d7dce8;border-radius:14px;background:#fff;color:#2f3850;font-size:26px;line-height:1;cursor:pointer}
.mit-modal__close:hover{background:#f5f8fc}
.mit-modal__form{display:grid;gap:8px}
.mit-modal__actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:10px}
.compact-readonly-grid input[readonly]{background:#f7f9fc;color:#536078;font-weight:700}
.feature-settings-card{display:grid;gap:22px;margin-top:18px}
.feature-settings-form{display:grid;gap:18px}
.feature-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.feature-settings-grid--single{grid-template-columns:1fr}
.settings-card{padding:20px 22px;border:1px solid #e7ebf3;border-radius:22px;background:#fbfcff;display:grid;gap:16px}
.settings-card__head{display:grid;gap:4px}
.settings-card__head h3{margin:0;font-size:19px}
.settings-card__head p{margin:0;color:#697289;line-height:1.5}
.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:18px;background:#fff;border:1px solid #e5eaf4}
.settings-toggle-row strong{display:block;font-size:15px;color:#23304a}
.settings-toggle-row span{display:block;color:#6b748b;font-size:13px;line-height:1.45}
.settings-checkbox-list{display:grid;gap:10px}
.settings-checkbox-list--inline{grid-template-columns:repeat(2,minmax(0,1fr))}
.availability-editor-form--expanded{gap:22px}
.availability-layout{gap:30px}
.availability-side-stack--spaced{gap:36px}
.availability-panel__head--row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}
.availability-panel__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.availability-editor-columns--stacked>.availability-panel,.availability-editor-columns--stacked>.availability-side-stack,.availability-side-stack--spaced>.availability-panel{width:100%}
.compact-editor-table--large th,.compact-editor-table--large td{padding:14px 12px;vertical-align:middle}
.availability-field{min-height:48px;padding:12px 14px;border-radius:16px}
.availability-field--large{min-height:54px;padding:14px 16px;font-size:15px;font-weight:600}
.availability-time-select.availability-field--large{min-width:132px}
.availability-editor-form .checkline{margin-bottom:0;font-weight:700;color:#4f596f}
.availability-editor-form .toggle-switch{width:64px;height:36px}
.availability-editor-form .toggle-switch span:after{width:28px;height:28px}
.availability-editor-form .toggle-switch input:checked + span:after{transform:translateX(28px)}
.special-service-select{min-width:320px;max-width:none;width:100%;font-size:12px;line-height:1.35;padding-top:10px;padding-bottom:10px}
.special-service-select option{font-size:12px;line-height:1.35;white-space:normal}
.slot-preview-card{padding-top:20px}
.slot-preview-card .slot-preview-grid{margin-top:0}
.settings-save-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.settings-card--site-tools{align-content:start}
.site-tools-grid{display:grid;gap:14px}
.site-tool-card{display:grid;gap:8px;padding:16px 18px;border-radius:18px;border:1px solid #e7ebf3;background:#fff}
.site-tool-card__head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.site-tool-card__head strong{font-size:15px;font-weight:800;color:#24314a}
.site-tool-card p{margin:0;color:#697289;line-height:1.55}
.site-tool-badge{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.02em}
.site-tool-badge.is-ready{background:rgba(64,173,162,.14);color:#24786f}
.site-tool-badge.is-inactive{background:#f4f6fb;color:#77809a}
.settings-help-note{padding:14px 16px;border-radius:16px;background:rgba(64,173,162,.08);color:#516078;line-height:1.55;font-weight:700}

.feature-settings-grid + .feature-settings-grid{margin-top:8px}
.detail-grid + .detail-grid{margin-top:24px}
.page-card .page-toolbar + .grid-2-col,.page-card .page-toolbar + .feature-settings-grid{margin-top:8px}
.page-card .grid-2-col + .mit-card,.page-card .mit-card + .grid-2-col{margin-top:24px}
.availability-layout{gap:36px}
.availability-side-stack--spaced{gap:40px}
.slot-preview-card{margin-top:20px}
@media (max-width:1280px){.dashboard-utility-grid,.feature-settings-grid{grid-template-columns:1fr}.utility-chip-grid,.utility-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:980px){.portal-sidebar-bottom{align-items:stretch}.portal-sidebar-utilities{flex-direction:column;align-items:stretch}.portal-sidebar-bottom .portal-logout-link,.portal-sidebar-bottom > a{margin-left:0;width:100%}.mit-locale-select{width:100%}.settings-checkbox-list--inline,.utility-chip-grid,.utility-stats{grid-template-columns:1fr}.mit-modal{padding:14px}.mit-modal__dialog{padding:20px 18px 18px}}
@media (max-width:640px){.mit-modal__actions,.availability-panel__actions{justify-content:stretch}.mit-modal__actions .btn,.availability-panel__actions .btn{width:100%}.calendar-cell-head,.calendar-day-panel-head,.settings-toggle-row{flex-direction:column;align-items:flex-start}.calendar-quick-add{width:100%}}
@media (max-width:640px){.field-label-row{align-items:flex-start}.field-label-row .btn{width:100%}}


.time-field-wrap{position:relative;width:100%}
.time-field{width:100%;padding-right:48px!important;background:#fff;cursor:pointer}
.time-field-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:18px;pointer-events:none;color:#778099}
.mit-date-picker,.mit-time-picker{z-index:1600}
.mit-time-picker{position:absolute;background:#fff;border:1px solid #d8deea;border-radius:22px;box-shadow:0 18px 42px rgba(26,34,56,.16);padding:16px;min-width:320px;max-height:360px;overflow:auto}
.mit-time-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;position:sticky;top:0;background:#fff;padding-bottom:10px}
.mit-time-picker-head strong{font-size:16px}
.mit-time-picker-head .clear{border:0;background:#eff7f5;color:#256e67;border-radius:12px;padding:8px 12px;font-weight:800;cursor:pointer}
.mit-time-picker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:280px;overflow:auto;padding-right:4px}
.mit-time-picker-option{border:0;background:#f6f8fc;border-radius:12px;padding:10px 8px;font-weight:700;color:#25304a;cursor:pointer}
.mit-time-picker-option.is-selected{background:#56bbb4;color:#fff;box-shadow:0 10px 18px rgba(86,187,180,.28)}
.mit-time-picker-option:hover{background:#dff5f1}
.availability-editor-form--expanded{gap:28px}
.availability-editor-form--expanded > .availability-panel{margin-top:4px}
.timesheet-day-list{display:grid;gap:14px}
.timesheet-day-row{display:grid;grid-template-columns:minmax(120px,160px) auto minmax(280px,1.35fr) minmax(240px,1.15fr) auto;gap:14px;align-items:center;padding:18px 20px;border:1px solid #e7ebf3;border-radius:22px;background:#fff}
.timesheet-day-row.is-disabled{background:#fbfcff;opacity:.8}
.timesheet-day-row.is-enabled{box-shadow:0 10px 24px rgba(30,41,62,.04)}
.timesheet-day-name{font-size:18px;font-weight:800;color:#1f273c}
.timesheet-day-toggle{display:flex;align-items:center;justify-content:center}
.timesheet-main-times{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:center;min-width:0}
.timesheet-time-separator{font-size:20px;font-weight:900;color:#6b748b;justify-self:center}
.timesheet-time-field{min-width:0}
.timesheet-day-row .time-field-wrap{width:100%}
.timesheet-day-row .time-field{min-height:54px;padding:14px 52px 14px 16px!important;border-radius:18px;border:1px solid #cfd3e0;background:#fff}
.timesheet-day-row .time-field:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(86,187,180,.12)}
.timesheet-day-row .time-field:disabled{background:#f7f9fc;color:#95a0b5;cursor:not-allowed}
.timesheet-breaks{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;min-width:0}
.timesheet-breaks__label{font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#7a8398;padding-top:12px}
.timesheet-break-chip-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:54px}
.timesheet-break-placeholder{display:inline-flex;align-items:center;padding:10px 14px;border-radius:16px;background:#f7f9fc;color:#7a8398;font-weight:700;font-size:13px}
.timesheet-break-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:16px;background:#eff7f5;color:#256e67;font-weight:800;font-size:13px;max-width:100%}
.timesheet-break-chip span{white-space:nowrap}
.timesheet-break-chip__remove{border:0;background:transparent;color:inherit;font-size:18px;line-height:1;cursor:pointer;padding:0 2px}
.timesheet-break-chip__remove:disabled{opacity:.35;cursor:default}
.timesheet-day-actions{display:flex;align-items:center;justify-content:flex-end}
.timesheet-day-actions .btn{min-height:54px;padding:0 18px;border-radius:18px;white-space:nowrap}
.availability-panel--hours{overflow:visible}
.availability-panel--hours .availability-panel__actions{justify-content:flex-end}
.availability-panel--days-off,.availability-panel--special,.slot-preview-card{margin-top:12px}
@media (max-width:1380px){.timesheet-day-row{grid-template-columns:minmax(120px,160px) auto minmax(280px,1fr);}.timesheet-breaks{grid-column:1 / -1}.timesheet-day-actions{grid-column:1 / -1;justify-content:flex-start}}
@media (max-width:980px){.mit-time-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.timesheet-day-row{grid-template-columns:1fr;align-items:stretch}.timesheet-day-toggle{justify-content:flex-start}.timesheet-main-times{grid-template-columns:1fr}.timesheet-time-separator{display:none}.timesheet-breaks{grid-template-columns:1fr}.timesheet-breaks__label{padding-top:0}.timesheet-day-actions{justify-content:flex-start}}
@media (max-width:640px){.mit-time-picker{min-width:280px}.mit-time-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.timesheet-day-row{padding:16px}.timesheet-break-chip span{white-space:normal}}


/* MIT v0.3.30 dashboard refinements */
.dashboard-utility-grid--top{grid-template-columns:1fr 1fr}
.dashboard-site-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.utility-stats--compact .utility-stat span{font-size:24px}
.settings-card__head--with-action{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.settings-card__head--with-action .btn{flex:0 0 auto}
.special-service-select{min-width:320px;max-width:none;width:100%;font-size:11px;line-height:1.25;padding-top:8px;padding-bottom:8px}
.special-service-select option{font-size:11px;line-height:1.25;white-space:normal}
.availability-editor-form--expanded{gap:32px}
.availability-editor-form--expanded > .availability-panel{margin-top:0}
.availability-panel--days-off,.availability-panel--special{margin-top:20px}
.slot-preview-card{padding-top:22px;margin-top:34px}
.timesheet-day-list{display:grid;gap:16px}
.timesheet-day-row{display:grid;grid-template-columns:minmax(120px,160px) auto minmax(320px,1.3fr) minmax(360px,1.35fr);gap:18px;align-items:center;padding:20px 22px;border:1px solid #e7ebf3;border-radius:22px;background:#fff}
.timesheet-day-row.is-disabled{background:#fbfcff;opacity:1}
.timesheet-day-row.is-enabled{box-shadow:0 10px 24px rgba(30,41,62,.04)}
.timesheet-day-name{font-size:18px;font-weight:800;color:#1f273c}
.timesheet-day-toggle{display:flex;align-items:center;justify-content:center}
.timesheet-main-times{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:center;min-width:0}
.timesheet-time-separator{font-size:20px;font-weight:900;color:#6b748b;justify-self:center}
.timesheet-time-field{min-width:0}
.timesheet-day-row .time-field-wrap{width:100%}
.timesheet-day-row .time-field{min-height:58px;padding:16px 52px 16px 18px!important;border-radius:18px;border:1px solid #cfd3e0;background:#fff;font-size:16px}
.timesheet-day-row .time-field:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(86,187,180,.12)}
.timesheet-day-row .time-field:disabled{background:#f7f9fc;color:#95a0b5;cursor:not-allowed}
.timesheet-breaks{display:grid;gap:10px;min-width:0}
.timesheet-breaks__label{font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#7a8398}
.timesheet-break-inline{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}
.timesheet-break-inline__text{font-weight:700;color:#4f596f;min-width:180px}
.timesheet-break-time-group{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:center;min-width:260px;flex:1 1 260px}
.timesheet-break-time-group[hidden]{display:none!important}
.availability-panel--hours{overflow:visible}
.availability-panel--hours .availability-panel__actions{justify-content:flex-end}
@media (max-width:1280px){.dashboard-utility-grid--top,.dashboard-site-tools{grid-template-columns:1fr}}
@media (max-width:1380px){.timesheet-day-row{grid-template-columns:minmax(120px,160px) auto minmax(280px,1fr)}.timesheet-breaks{grid-column:1 / -1}}
@media (max-width:980px){.timesheet-day-row{grid-template-columns:1fr;align-items:stretch}.timesheet-day-toggle{justify-content:flex-start}.timesheet-main-times,.timesheet-break-time-group{grid-template-columns:1fr}.timesheet-time-separator{display:none}.timesheet-break-inline{align-items:flex-start}}

/* MIT v0.3.45 dashboard refinements */
/* Sidebar logout button pinned at the bottom of the menu */
.service-editor-head--actions{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.service-editor-head--actions>div:first-child{flex:1 1 420px}
.service-editor-head__actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.service-row--custom{background:#fdfefe}
.service-row.is-marked-delete{display:none!important}
.service-text-input{width:100%;min-height:52px;border:1px solid #d5dbe7;border-radius:16px;padding:12px 14px;font-size:15px;font-weight:600;color:#1f273c;background:#fff;margin:10px 0 8px;outline:none}
.service-text-input:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(86,187,180,.12)}
.service-description--note{max-width:56ch}
.service-input-group--large{min-width:168px;padding:10px 14px}
.service-row-actions{white-space:nowrap}
.service-row-actions__placeholder{display:inline-flex;align-items:center;justify-content:center;min-width:34px;color:#a5adc0}
.timesheet-breaks{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}
.timesheet-break-stack{display:grid;gap:12px;min-width:0}
.timesheet-break-list{display:grid;gap:10px}
.timesheet-break-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;gap:12px;align-items:center}
.timesheet-break-row .btn{min-height:58px;border-radius:18px;white-space:nowrap}
.timesheet-break-placeholder{display:inline-flex;align-items:center;padding:10px 14px;border-radius:16px;background:#f7f9fc;color:#7a8398;font-weight:700;font-size:13px}
.timesheet-break-inline__text{font-weight:700;color:#4f596f;line-height:1.5;min-width:0}
.timesheet-break-stack .js-add-break{justify-self:flex-start}
@media (max-width:1200px){.service-editor-table{min-width:920px}}
@media (max-width:980px){.service-editor-head__actions{width:100%}.service-editor-head__actions .btn{flex:1 1 auto}.timesheet-break-row{grid-template-columns:1fr}}

/* MIT v0.3.45 dashboard refinements */
.mit-modal__dialog--wide{max-width:min(1100px,calc(100vw - 32px));width:min(1100px,calc(100vw - 32px))}
.activity-log-list{gap:12px}
.activity-log-item{align-items:flex-start;gap:12px}
.activity-log-item>div{display:grid;gap:6px}
.activity-log-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.activity-log-meta small{display:block;color:#657087;line-height:1.5;max-width:56ch}
.appointment-proposal-card{margin-bottom:18px}
@media (max-width:980px){.mit-modal__dialog--wide{width:calc(100vw - 20px);max-width:calc(100vw - 20px)}}


/* MIT v0.3.45 dashboard refinements */
.setup-step-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding:0;margin:12px 0 14px}
.setup-step{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e3e8f2;border-radius:18px;background:#fbfcfe}
.setup-step.is-done{border-color:rgba(86,187,180,.32);background:rgba(86,187,180,.08)}
.setup-step__index{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:#edf1f7;color:#49546b;font-weight:800;flex:0 0 auto}
.setup-step.is-done .setup-step__index{background:rgba(86,187,180,.18);color:#1d5e58}
.setup-step__body strong{display:block;font-size:14px;line-height:1.35;color:#1f273c}
.appointment-proposal-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}
.appointment-proposal-summary{padding:12px 14px;border-radius:16px;background:#f7f9fc;color:#556178;line-height:1.45;min-height:48px;display:flex;align-items:center}
@media (max-width:980px){.setup-step-list{grid-template-columns:1fr}.appointment-proposal-toolbar{grid-template-columns:1fr}}

/* MIT v0.3.45 dashboard refinements */
.portal-mobile-bar{display:none}
.portal-overlay{position:fixed;inset:0;background:rgba(17,24,39,.42);backdrop-filter:blur(2px);z-index:1090}
.portal-overlay[hidden]{display:none!important}
.portal-menu-toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid #d8dfea;border-radius:14px;background:#fff;color:#24304a;padding:10px 14px;font-weight:800;cursor:pointer}
.portal-menu-toggle:hover{background:#f5f8fc}
.portal-mobile-bar__brand img{width:124px;height:auto}
body.portal-menu-open{overflow:hidden}
.image-controls--stack{align-content:start}
.profile-photo-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.profile-photo-upload-btn{position:relative;overflow:hidden;cursor:pointer}
.profile-photo-upload-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}
.js-profile-photo-status.is-success{color:#1f7a56}
.js-profile-photo-status.is-error{color:#b54747}
.js-profile-photo-status.is-busy{color:#6c7388}
.taxonomy-head--actions{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.speciality-picker{display:grid;gap:12px}
.speciality-picker__toggle{justify-content:space-between;min-width:min(100%,360px)}
.speciality-picker__count{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 10px;border-radius:999px;background:#fff;color:#22304a;font-size:13px;font-weight:900;border:1px solid #d8dfea}
.speciality-picker__panel{padding:16px;border:1px solid #e4eaf3;border-radius:20px;background:#fbfcff;display:grid;gap:14px}
.speciality-picker__options{max-height:360px;overflow:auto;padding-right:4px}
.speciality-picker__options .tax-pill[hidden]{display:none!important}
.time-field-wrap.is-time-select-mode .time-field{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;padding:0!important;margin:0!important;border:0!important}
.time-field-wrap.is-time-select-mode .time-field-icon{display:none}
.mit-time-selects{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;width:100%}
.mit-time-select{width:100%;border:1px solid #cfd3e0;border-radius:18px;padding:14px 16px;background:#fff;color:#1d2338;outline:none;min-height:54px}
.mit-time-select:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(86,187,180,.12)}
.mit-time-select:disabled{background:#f7f9fc;color:#95a0b5;cursor:not-allowed}
@media (max-width:980px){
  .portal{display:block;padding-top:76px}
  .portal-mobile-bar{position:fixed;top:0;left:0;right:0;z-index:1100;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 8px 24px rgba(20,28,44,.08)}
  .portal-sidebar{position:fixed;top:0;left:0;bottom:0;width:min(86vw,320px);max-width:320px;height:auto;overflow:hidden;transform:translateX(-110%);transition:transform .24s ease;z-index:1200;border-right:1px solid var(--line);border-bottom:0;padding:18px 12px 26px}
  body.portal-menu-open .portal-sidebar{transform:translateX(0)}
  .portal-main{padding:18px}
  .profile-photo-actions{flex-direction:column;align-items:stretch}
  .profile-photo-actions .btn{width:100%}
  .taxonomy-head--actions{flex-direction:column;align-items:stretch}
  .taxonomy-head--actions .btn{width:100%}
  .speciality-picker__toggle{width:100%}
  .speciality-picker__panel{padding:14px}
  .speciality-picker__options{grid-template-columns:1fr}
  .mit-time-selects{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .portal{padding-top:74px}
  .portal-mobile-bar{padding:12px}
  .portal-menu-toggle span{display:none}
  .portal-mobile-bar__brand img{width:110px}
  .mit-time-selects{grid-template-columns:1fr}
}

/* MIT v0.3.45 dashboard refinements */
.mit-card{border:0!important}
.timeline-item{border:0!important;box-shadow:none!important;background:transparent;padding:0}
.timeline-item+.timeline-item{margin-top:14px}
.timeline-item__actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.detail-stack{display:grid;gap:18px}
.dashboard-utility-grid{grid-template-columns:1fr 1fr}
.notification-matrix--templates td:last-child,.notification-matrix--templates th:last-child{text-align:left}
.template-row-actions{display:flex;justify-content:flex-start}
.template-preview-card{padding:18px;border-radius:18px;background:#f7f9fc;color:#2a344d;display:grid;gap:12px;line-height:1.6}
.template-preview-card strong{font-size:13px;letter-spacing:.02em;text-transform:uppercase;color:#6b758c}
.template-preview-subject{font-weight:800;color:#222c44}
.template-preview-body{white-space:normal}
.settings-toggle-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}
.settings-toggle-grid .settings-toggle-row{margin:0}
.days-off-stack{display:grid;gap:12px}
.days-off-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(180px,.8fr) minmax(180px,.8fr) auto;gap:12px;align-items:center;padding:0}
.days-off-row .btn{min-height:48px;border-radius:16px}
.special-services-cell{display:grid;gap:10px}
.special-services-summary{font-size:14px;line-height:1.5;color:#4c5872}
.special-services-hidden{display:none}
.special-services-modal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:360px;overflow:auto;padding-right:4px}
.special-services-option{padding:12px 14px;border-radius:16px;background:#f7f9fc}
.slot-preview-card{margin-top:22px}
.page-toolbar--preview{margin-bottom:20px}
.slot-preview-results{display:grid;gap:18px}
.slot-preview-results.is-loading{opacity:.6;pointer-events:none}
.slot-preview-grid--spaced{gap:16px;margin-top:6px}
.appointment-detail-metrics--spaced{margin-bottom:12px;gap:16px}
.availability-editor-form{gap:22px}
.availability-panel{padding:0 6px 6px}
.availability-panel__head{margin-bottom:14px}
.availability-panel__head--row{align-items:flex-start}
.availability-panel__actions{gap:10px;flex-wrap:wrap}
.timesheet-day-list{gap:16px}
.timesheet-day-row{grid-template-columns:minmax(120px,150px) auto minmax(0,1fr);grid-template-areas:"name toggle times" "breaks breaks breaks";gap:14px;padding:18px 20px;align-items:center}
.timesheet-day-name{grid-area:name}
.timesheet-day-toggle{grid-area:toggle}
.timesheet-main-times{grid-area:times}
.timesheet-breaks{grid-area:breaks;padding-top:2px;grid-template-columns:60px minmax(0,1fr);align-items:flex-start}
.timesheet-breaks__label{padding-top:10px}
.timesheet-break-stack{gap:10px}
.timesheet-break-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:center}
.timesheet-break-row .timesheet-time-separator{display:flex;justify-content:center}
.timesheet-day-row .time-field,.mit-time-select,.availability-field{min-height:48px!important;padding-top:10px!important;padding-bottom:10px!important;font-size:15px!important}
.timesheet-break-row .btn,.days-off-row .btn,.special-services-cell .btn{min-height:48px;border-radius:16px}
.mit-time-selects{gap:10px}
.special-services-summary:empty::before{content:"Tous les services";color:#6b758c}
.activity-log-item>div{min-width:0}
.activity-log-item strong{display:block}
@media (max-width:1280px){
  .timesheet-break-row{grid-template-columns:repeat(4,minmax(0,1fr));}
  .timesheet-break-row .timesheet-time-separator{grid-column:auto}
  .timesheet-break-row .js-remove-break{grid-column:1 / -1;justify-self:flex-start}
}
@media (max-width:980px){
  .settings-toggle-grid,.dashboard-utility-grid{grid-template-columns:1fr}
  .days-off-row{grid-template-columns:1fr}
  .special-services-modal-list{grid-template-columns:1fr}
  .timesheet-day-row{grid-template-columns:1fr;grid-template-areas:"name" "toggle" "times" "breaks";align-items:stretch}
  .timesheet-day-toggle{justify-content:flex-start}
  .timesheet-main-times{grid-template-columns:1fr 1fr auto 1fr 1fr;align-items:center}
  .timesheet-breaks{grid-template-columns:1fr}
  .timesheet-breaks__label{padding-top:0}
  .timesheet-break-row{grid-template-columns:1fr 1fr auto 1fr 1fr}
}
@media (max-width:720px){
  .timesheet-main-times,.timesheet-break-row{grid-template-columns:1fr}
  .timesheet-time-separator{display:none!important}
}


/* MIT v0.3.45 extra refinements */
.portal-brand{display:flex;justify-content:center;align-items:center;padding:0 6px 18px}
.portal-brand img{display:block;margin:0 auto}
.portal-mobile-bar{align-items:center}
.portal-mobile-bar__brand{flex:1;display:flex;justify-content:center;align-items:center}
.portal-mobile-bar__brand img{display:block;margin:0 auto}
.portal-menu-icon-bars{display:inline-flex!important;flex-direction:column;justify-content:center;gap:4px;min-width:18px}
.portal-menu-icon-bars span{display:block!important;width:18px;height:2px;background:#24304a;border-radius:999px}
.portal-menu-toggle__text{display:inline-block}
.utility-stats:not(.utility-stats--compact)>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.utility-stats:not(.utility-stats--compact)>div strong{display:inline-block;min-width:1ch;text-align:right}
.image-preview.js-profile-photo-preview{width:150px;height:150px;border-radius:999px;overflow:hidden}
.image-preview.js-profile-photo-preview img,.image-preview.js-profile-photo-preview .image-placeholder{width:100%;height:100%;border-radius:999px;object-fit:cover}
.time-field-mobile-label{display:none}
.js-calendar-appointment-drag{cursor:grab}
.js-calendar-appointment-drag.is-dragging{opacity:.55;cursor:grabbing}
.js-calendar-day.is-drop-target{box-shadow:0 0 0 3px rgba(86,187,180,.14);border-color:var(--primary)}
@media (max-width:980px){
  .timesheet-main-times{grid-template-columns:1fr 1fr!important;gap:10px;align-items:start}
  .timesheet-main-times .timesheet-time-separator{display:none!important}
  .timesheet-break-row{grid-template-columns:1fr 1fr auto!important;gap:10px;align-items:start}
  .timesheet-break-row .timesheet-time-separator{display:none!important}
  .timesheet-break-row .js-remove-break{grid-column:1 / -1;justify-self:flex-start}
}
@media (max-width:720px){
  .portal-menu-toggle .portal-menu-toggle__text{display:none!important}
  .portal-menu-toggle .portal-menu-icon-bars,.portal-menu-toggle .portal-menu-icon-bars span{display:flex!important}
  .timesheet-main-times{grid-template-columns:1fr 1fr!important;gap:10px}
  .timesheet-break-row{grid-template-columns:1fr 1fr!important;gap:10px}
  .timesheet-break-row .js-remove-break{grid-column:1 / -1;justify-self:stretch;width:100%}
  .timesheet-time-field .time-field-mobile-label{display:block;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#6b758c;margin-bottom:6px}
  .timesheet-time-field .mit-time-selects{grid-template-columns:1fr 1fr!important}
}
@media (max-width:640px){
  .portal-menu-toggle .portal-menu-icon-bars,.portal-menu-toggle .portal-menu-icon-bars span{display:flex!important}
  .portal-menu-toggle .portal-menu-toggle__text{display:none!important}
  .mit-time-selects{grid-template-columns:1fr 1fr!important}
}


.mit-accordion-item {
  border-radius: 20px;
  overflow: hidden;
}
.mit-accordion-item summary {
  list-style: none;
}
.mit-accordion-item summary::-webkit-details-marker {
  display: none;
}
.mit-accordion-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px;
  cursor: pointer;
}
.mit-accordion-summary__meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

/* MIT dashboard v0.3.79 */
.service-editor-head .js-add-custom-service{display:none!important}
.service-editor-foot>span{display:none!important}
.profile-toggle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 18px}
.settings-toggle-row--compact{align-items:center;justify-content:space-between;gap:16px;min-height:82px}
.settings-toggle-row--compact>.toggle-switch{order:2;flex:0 0 auto;margin-left:auto}
.settings-toggle-row__copy{display:grid;gap:4px;min-width:0}
.settings-toggle-row__copy strong{display:flex;align-items:center;gap:8px;font-size:15px;color:#23304a;line-height:1.3}
.settings-toggle-row__copy span{display:block;margin:0;color:#6b748b;font-size:13px;line-height:1.45}
.settings-toggle-row__copy strong .info-help{display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;border:0;border-radius:999px;background:#56bbb4;color:#fff;font-size:10px;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 4px 10px rgba(86,187,180,.18);padding:0;vertical-align:middle;flex:0 0 13px}
.legacy-hidden-field,.profile-section--legacy-billing{display:none!important}
.info-help{display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;border:0;border-radius:999px;background:#56bbb4;color:#fff;font-size:10px;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 4px 10px rgba(86,187,180,.18);padding:0;vertical-align:middle;flex:0 0 13px}
.info-help:hover,.info-help:focus{transform:translateY(-1px);outline:none}
#mit-help-popover{position:fixed;z-index:1600;max-width:min(320px,calc(100vw - 24px));padding:12px 14px;border-radius:16px;background:#1f2b3d;color:#fff;font-size:13px;line-height:1.5;box-shadow:0 16px 38px rgba(15,24,40,.26);opacity:0;pointer-events:none;transform:translateY(6px);transition:opacity .16s ease,transform .16s ease}
#mit-help-popover.is-visible{opacity:1;transform:translateY(0)}
#mit-help-popover:after{content:"";position:absolute;left:18px;bottom:-8px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #1f2b3d}
.mit-help-icons-hidden .info-help{display:none!important}
.mit-help-icons-hidden #mit-help-popover{display:none!important}
.line-list-editor{display:grid;gap:10px}
.line-list-editor__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.line-list-editor__row input{width:100%}
.line-list-editor__actions{display:flex;justify-content:flex-start}
.language-picker{display:grid;gap:10px}
.language-picker__search{position:relative}
.language-picker__search input{padding-left:14px}
.language-picker__chips{display:flex;flex-wrap:wrap;gap:8px}
.language-picker__chip{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;background:#f4f8fb;border:1px solid #dce4ef;color:#23304a;font-size:13px;font-weight:600}
.language-picker__chip button{border:0;background:transparent;color:#61708a;cursor:pointer;padding:0 0 0 2px;font-size:15px;line-height:1}
.language-picker__options-wrap{position:relative}
.language-picker__options{display:grid;gap:8px;max-height:176px;overflow:auto;padding-right:28px}
.language-picker__scroll-hint{position:absolute;right:6px;top:50%;transform:translateY(-50%);opacity:.35;pointer-events:none;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:rgba(86,187,180,.10);color:#56bbb4}
.language-picker__scroll-hint .material-symbols-rounded{font-size:20px;line-height:1}
.language-picker__options-wrap:hover .language-picker__scroll-hint{opacity:.7}
.language-picker__option{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #dde4ef;border-radius:16px;background:#fff;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease}
.language-picker__option:hover{border-color:#56bbb4;box-shadow:0 8px 18px rgba(86,187,180,.14)}
.language-picker__option[hidden]{display:none!important}
.language-picker__option.is-selected{background:#f1fbfa;border-color:#7fcfc9}
.language-picker__flag{font-size:18px;line-height:1}
.language-picker__empty{color:#6f778c;font-size:13px;padding:2px 0}
.language-picker__source{display:none!important}
.profile-section-save{display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}
.profile-section-save .helper-text{margin:0}
.profile-section-save.is-busy .btn{pointer-events:none;opacity:.7}
.profile-section-save.is-success .helper-text{color:#1b7f6b}
.profile-section-save.is-error .helper-text{color:#b42318}
.service-editor-table th.service-tax-col,.service-editor-table td.service-tax-cell{min-width:170px}
.service-tax-summary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border-radius:14px;border:1px dashed #cfd8e6;background:#f8fafc;color:#23304a;font-weight:600;cursor:pointer;min-width:150px}
.service-tax-summary:hover{border-color:#56bbb4;background:#f1fbfa}
.service-tax-summary.is-empty{color:#61708a;font-weight:500}
.service-tax-summary[disabled]{cursor:not-allowed;opacity:.6}
.service-tax-summary small{display:block;font-weight:500;color:#6b748b}
.service-tax-help{font-size:12px;color:#6f778c;margin-top:6px}
.mit-modal__dialog--narrow{width:min(560px,100%);max-width:min(560px,100%)}
@media (max-width:980px){.profile-toggle-grid{grid-template-columns:1fr}.settings-toggle-row--compact{min-height:0}.profile-section-save{justify-content:stretch}.profile-section-save .btn{width:100%}}
@media (max-width:640px){.line-list-editor__row{grid-template-columns:1fr}.service-tax-summary{width:100%}}

.appointment-patient-toolbar{justify-content:flex-start;margin-top:6px;margin-bottom:12px}
.appointment-patient-toolbar .btn{align-self:flex-start;white-space:nowrap}
.field.field-inline-action .field-label-row .btn{margin-left:auto}
.appointment-notification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:8px 0 4px}
.appointment-notification-grid--single{grid-template-columns:1fr}
.appointment-notification-toggle .toggle-switch{flex:0 0 auto}
.appointment-notification-toggle--full{width:100%}
.appointment-notification-toggle.is-disabled{opacity:.58}
.appointment-notification-toggle.is-disabled .checkline__copy strong,.appointment-notification-toggle.is-disabled .checkline__copy span{color:#98a2b3}
.toggle-switch--with-state input:disabled + span{background:#d8dde9;cursor:not-allowed}
.toggle-switch--with-state input:disabled + span:after{background:#f6f8fb;box-shadow:none}
@media (max-width:860px){.appointment-notification-grid{grid-template-columns:1fr}}
@media (max-width:640px){.field-label-row{align-items:flex-start}.field-label-row .btn{width:100%}.field-inline-action__toolbar{justify-content:stretch}.field-inline-action__toolbar .btn{width:100%}.appointment-patient-toolbar{margin-bottom:10px}}

.js-existing-invoice-helper{padding:10px 12px;border-radius:10px;background:#eef4f7;border:1px solid #d7e4eb;color:#243449;font-weight:600}
.js-existing-invoice-helper a{font-weight:700}
.js-existing-invoice-helper.is-active{background:#dbe8ef;border-color:#9bb6c5}
.detail-card-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}

.field-inline-action--stacked .field-label-row--stacked{margin-bottom:0}
.field-inline-action--stacked .field-inline-action__toolbar{justify-content:flex-start}


.mit-settings-toggle-inline-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch;}
.mit-settings-toggle-inline-row .settings-toggle-row{margin:0;min-height:100%;}
@media (max-width:1100px){.mit-settings-toggle-inline-row{grid-template-columns:1fr;}}


/* v0.4.11: Pathology symptom and therapy badge prefill */
.portal-sidebar-bottom .portal-logout-link{
  width:44px;
  height:44px;
  padding:0;
  gap:0;
  font-size:14px;
}
.portal-sidebar-bottom .portal-logout-link span{
  display:none!important;
}

.checkline--stack{align-items:flex-start;gap:12px}
.checkline--stack span{display:grid;gap:6px}
.checkline--stack small{display:block;color:#667085;line-height:1.45;font-size:13px}

.legal-page-shell{background:#eef2f6}
.legal-page-panel{display:grid;gap:18px}
.legal-page-header h1{margin:12px 0 0}
.legal-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.legal-summary-card{padding:18px 20px;border-radius:22px;background:#f9fbfc;border:1px solid #dde6ea;box-shadow:0 6px 18px rgba(16,24,40,.05)}
.legal-summary-card p{margin:0;color:#344054;line-height:1.6}
.legal-card{padding:26px}
.legal-card p{color:#344054;line-height:1.7;margin:0 0 14px}
.legal-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.legal-meta-grid strong{display:block;font-size:13px;color:#667085;margin-bottom:4px}
.legal-list{margin:6px 0 0 18px;padding:0;display:grid;gap:8px;color:#344054;line-height:1.6}
@media (max-width:860px){.legal-summary-grid,.legal-meta-grid{grid-template-columns:1fr}}

/* v0.3.97: privacy policy, consent banner and registration legal checks */
.checkline--stack a{color:#1d4ed8;text-decoration:none;font-weight:700}
.checkline--stack a:hover{text-decoration:underline}

.mit-cookie-banner{
  position:fixed;
  left:20px;
  right:20px;
  bottom:20px;
  z-index:1200;
  display:flex;
  justify-content:center;
}
.mit-cookie-banner[hidden],
.mit-cookie-banner.is-hidden{display:none !important}
.mit-cookie-banner__card{
  width:min(980px,100%);
  background:#ffffff;
  border:1px solid #d7dee7;
  border-radius:24px;
  box-shadow:0 20px 60px rgba(16,24,40,.18);
  padding:20px 22px;
  display:grid;
  gap:16px;
}
.mit-cookie-banner__intro strong{
  display:block;
  font-size:18px;
  color:#101828;
  margin-bottom:8px;
}
.mit-cookie-banner__intro p{
  margin:0;
  color:#475467;
  line-height:1.6;
}
.mit-cookie-banner__links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
  color:#667085;
  font-size:14px;
}
.mit-cookie-banner__links a{color:#1d4ed8;text-decoration:none;font-weight:600}
.mit-cookie-banner__links a:hover{text-decoration:underline}
.mit-cookie-banner__actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.mit-cookie-banner__details{display:block}
.mit-cookie-banner__details summary{list-style:none;cursor:pointer}
.mit-cookie-banner__details summary::-webkit-details-marker{display:none}
.mit-cookie-banner__details[open] summary{margin-bottom:12px}
.mit-cookie-banner__actions--panel{padding-top:8px}
.mit-cookie-banner__panel{
  border-top:1px solid #e4e7ec;
  padding-top:14px;
  display:grid;
  gap:12px;
}
@media (max-width:760px){
  .mit-cookie-banner{left:12px;right:12px;bottom:12px}
  .mit-cookie-banner__card{padding:16px}
}


/* Messages layout tweaks */
.messages-layout{grid-template-columns:var(--messages-left-width,420px) 12px minmax(0,1fr)}
.messages-layout .messages-list-card{overflow:auto;min-width:0}
.messages-layout .messages-splitter{width:12px;cursor:col-resize;user-select:none}
.messages-layout .messages-splitter::before{content:"";position:relative;display:block;height:100%;min-height:120px;border-radius:999px;background:rgba(120,130,154,.35)}
.messages-layout .messages-splitter{display:flex;align-items:stretch;justify-content:center}
.messages-layout .messages-splitter::before{width:2px;opacity:.35;margin:12px auto}
.messages-layout .messages-splitter:hover::before{opacity:.8}
.messages-layout.is-resizing{cursor:col-resize;user-select:none}
@media (max-width:980px){.messages-layout{grid-template-columns:1fr}.messages-layout .messages-splitter{display:none}}


/* Messages UX */
.messages-layout tr.js-thread-row{cursor:pointer}
.messages-layout tr.js-thread-row:hover{background:rgba(140, 200, 190, .10)}

.mit-chat__messages{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}
.mit-chat-bubble{max-width:52%;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff}
.mit-chat-bubble.is-me{margin-left:auto;background:rgba(56, 168, 151, .12);border-color:rgba(56, 168, 151, .35)}
.mit-chat-bubble.is-them{margin-right:auto;background:#fff}

.messages-layout .messages-splitter{background:transparent}
.messages-layout .messages-splitter::before{content:"";display:block;width:2px;height:calc(100% - 24px);margin:12px auto;border-radius:999px;background:rgba(120,130,154,.35);opacity:.5}
.messages-layout .messages-splitter:hover::before{opacity:.9}

.messages-layout .messages-splitter{align-self:stretch}

/* Day calendar uses the time grid layout (single column). */
.calendar-week-layout--day{grid-template-columns:84px minmax(260px,1fr)}
@media (max-width:980px){.calendar-week-layout--day{grid-template-columns:68px minmax(220px,1fr)}}
@media (max-width:640px){.calendar-week-layout--day{grid-template-columns:68px minmax(180px,1fr)}}

/* MIT support inbox, payment breakdown and patient payment states */
.pill.status-waiting-payment{background:rgba(255,247,223,.95);color:#86621c;border-color:rgba(134,98,28,.22)}
.pill.status-overdue{background:rgba(247,229,229,.98);color:#a24646;border-color:rgba(162,70,70,.26)}
.mit-modal-backdrop[hidden]{display:none!important}
.mit-modal-backdrop{position:fixed;inset:0;z-index:9999;background:rgba(15,23,42,.46);display:flex;align-items:center;justify-content:center;padding:24px}
.mit-modal-backdrop>.mit-modal,.mit-modal-backdrop>.mit-payment-breakdown-panel{width:min(540px,100%);background:#fff;border-radius:24px;padding:26px;box-shadow:0 28px 90px rgba(15,23,42,.28);position:relative}
.mit-modal-backdrop .modal-close{position:absolute;top:14px;right:16px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#647084}
.mit-modal-backdrop .modal-header h3{margin:0 0 4px}
.mit-modal-backdrop .detail-list>div{display:flex;align-items:center;justify-content:space-between;gap:18px}
.support-ticket-link{display:block;color:inherit;text-decoration:none}
.support-ticket.is-selected{border-color:rgba(26,130,118,.45);box-shadow:0 14px 40px rgba(26,130,118,.08)}
.support-conversation{display:grid;gap:12px;margin-bottom:18px}
.support-message-card{border:1px solid rgba(148,163,184,.18);border-radius:18px;padding:14px;background:#fff}
.support-message-card.is-support-side{background:rgba(26,130,118,.06)}
.support-thread-layout{grid-template-columns:minmax(280px,.9fr) minmax(0,1.2fr)}
.support-thread-list{display:grid;gap:12px}
.support-reply-form{margin-top:18px}
@media (max-width:900px){.support-thread-layout{grid-template-columns:1fr}}

/* MIT billing unified payment details */
.mit-billing-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-bottom:18px;align-items:stretch}
.mit-billing-summary-card{display:flex;gap:12px;align-items:flex-start;padding:15px 16px;border:1px solid rgba(15,23,42,.08);border-radius:18px;background:#fff;box-shadow:0 12px 28px rgba(15,23,42,.06)}
.mit-billing-summary-card>.material-symbols-rounded,.mit-billing-actions-card .inline-icon{flex:0 0 auto;width:34px;height:34px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:#eefaf8;color:#237a72;font-size:20px}
.mit-billing-summary-card dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:800;margin:0 0 4px}
.mit-billing-summary-card dd{margin:0;color:#0f172a;font-weight:800;display:grid;gap:4px;line-height:1.35}
.mit-billing-summary-card dd span{display:block;color:#64748b;font-size:.9rem;font-weight:600}
.mit-billing-actions-card{margin-top:12px}
.mit-billing-action-grid{align-items:center;justify-content:flex-start}
.mit-billing-action-grid .btn,.table .btn{display:inline-flex;align-items:center;gap:6px}
.mit-payment-notification-form{margin-top:18px;padding:16px;border:1px solid rgba(15,23,42,.08);border-radius:20px;background:#fff}
.mit-billing-timeline{margin:4px 0 18px}


/* MIT therapist dashboard refinements */
.portal-avatar-uploader{position:relative;width:106px;margin:8px auto 20px;text-align:center}
.portal-avatar-upload-label{position:relative;display:block;width:106px;height:106px;border-radius:999px;cursor:pointer}
.portal-avatar-preview{display:block;width:106px;height:106px;border-radius:999px;overflow:hidden;background:#dfe6ef;border:3px solid #e8edf5}
.portal-avatar-preview .portal-avatar{width:100%;height:100%;margin:0;border:0;border-radius:999px;object-fit:cover;background:#dfe6ef}
.portal-avatar-edit{position:absolute;left:2px;top:4px;width:34px;height:34px;display:grid;place-items:center;border-radius:999px;background:#fff;color:#21324d;border:1px solid rgba(33,50,77,.14);box-shadow:0 10px 24px rgba(15,23,42,.18);opacity:0;transform:translateY(4px);transition:opacity .16s ease,transform .16s ease}
.portal-avatar-upload-label:hover .portal-avatar-edit,.portal-avatar-upload-label:focus-within .portal-avatar-edit{opacity:1;transform:translateY(0)}
.mit-connection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:16px}
.mit-connection-card{display:flex;gap:10px;align-items:flex-start;border:1px solid rgba(220,38,38,.24);background:#fff7f7;border-radius:18px;padding:14px}
.mit-connection-card.is-ok{border-color:rgba(22,163,74,.24);background:#f2fbf5}
.mit-status-light{width:14px;height:14px;border-radius:999px;background:#dc2626;box-shadow:0 0 0 4px rgba(220,38,38,.12);flex:0 0 14px;margin-top:3px}
.mit-connection-card.is-ok .mit-status-light{background:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.14)}
.mit-connection-card strong{display:block;color:#18243a;margin-bottom:3px}.mit-connection-card span+div span,.mit-connection-card div span{display:block;color:#647084;font-size:13px;line-height:1.35}
.calendar-settings-btn{display:inline-grid;place-items:center;min-width:42px}
@media (max-width:980px){.portal-avatar-uploader{margin:10px auto 18px}}

/* v0.4.13: WordPress plugin shortcode namespace cleanup */


/* MIT v0.4.20 appointment popup, documents and cancellation policy */
.appointment-detail-card-shell[hidden]{display:none!important}
.appointment-detail-modal-dialog{max-height:calc(100vh - 36px);overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr)}
.appointment-detail-modal-content{min-width:0;overflow:auto;padding-bottom:22px}
.appointment-popup-tabs{display:grid;gap:18px;min-width:0}
.appointment-popup-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid #e4eaf3;border-radius:20px;background:#fbfcff}
.appointment-popup-summary h3{margin:0;color:#1f273c}
.appointment-popup-summary p{margin:6px 0 0;color:#667085;line-height:1.45}
.appointment-popup-tab-list{display:flex;gap:8px;flex-wrap:wrap;padding:6px;border:1px solid #e4eaf3;border-radius:18px;background:#f7f9fc}
.appointment-popup-tab{border:0;border-radius:14px;background:transparent;color:#4d5b73;padding:10px 14px;font-weight:800;display:inline-flex;gap:8px;align-items:center;cursor:pointer}
.appointment-popup-tab:hover{background:#fff;color:#1f273c}
.appointment-popup-tab.is-active{background:#fff;color:#1f6e67;box-shadow:0 8px 20px rgba(31,39,60,.08)}
.appointment-popup-panel{display:grid;gap:16px}
.appointment-popup-panel[hidden]{display:none!important}
.appointment-popup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.appointment-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.appointment-info-card{display:grid;gap:14px}
.appointment-info-card h4,.appointment-info-card h5{margin:0;color:#1f273c;display:flex;align-items:center;gap:8px}
.appointment-documents-current{display:grid;gap:10px;margin-top:16px}
.appointment-messages-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:10px}
.appointment-messages-head h4{margin:0;display:flex;gap:8px;align-items:center}
.appointment-chat-messages{max-height:420px;overflow:auto;padding-right:6px}
.appointment-message-reply{margin-top:16px}
.appointment-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.appointment-action-card{border:1px solid #e4eaf3;border-radius:20px;background:#fbfcff;padding:16px;display:grid;gap:14px;align-content:start}
.appointment-action-card>div:first-child{display:grid;gap:8px}
.appointment-action-card .mit-icon{color:#1f6e67}
.appointment-action-card strong{color:#1f273c}
.appointment-action-card span{color:#667085;line-height:1.45}
.appointment-action-card.is-disabled{opacity:.65}
.appointment-action-buttons{display:flex;flex-wrap:wrap;gap:8px}
.appointment-action-buttons form{display:inline-flex}
.appointment-secondary-modal .mit-modal__dialog{max-width:min(680px,calc(100vw - 28px));width:min(680px,calc(100vw - 28px))}
.appointment-action-modal-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.choice-card{display:block;cursor:pointer}
.choice-card input{position:absolute;opacity:0;pointer-events:none}
.choice-card span{min-height:120px;border:1px solid #e4eaf3;border-radius:18px;background:#fff;padding:14px;display:grid;gap:8px;align-content:start}
.choice-card input:checked+span{border-color:#1f9b8f;background:#effaf8;box-shadow:0 0 0 3px rgba(31,155,143,.1)}
.choice-card strong{color:#1f273c}
.choice-card small{color:#667085;line-height:1.45}
.document-attachment-list{display:grid;gap:10px}
.document-attachment-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #e4eaf3;border-radius:16px;background:#fff}
.document-attachment-item__body{display:grid;gap:4px;min-width:0}
.document-attachment-item__body strong{overflow-wrap:anywhere}
.document-icon{width:38px;height:38px;border-radius:12px;background:#eff7f5;color:#1f6e67;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.settings-panel{border:1px solid #e4eaf3;border-radius:20px;background:#fbfcff;padding:16px;margin-top:16px;display:grid;gap:14px}
.settings-panel__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.settings-panel__head strong{display:flex;gap:8px;align-items:center;color:#1f273c}
.settings-panel__head span{display:block;color:#667085;margin-top:4px;line-height:1.45}
.input-with-suffix{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid #d8deea;border-radius:16px;background:#fff;overflow:hidden}
.input-with-suffix input{border:0;border-radius:0;box-shadow:none}
.input-with-suffix span{padding:0 14px;color:#667085;font-weight:800}
[data-cancellation-reduction-field][hidden],[data-no-show-adjust-field][hidden]{display:none!important}
@media (max-width:900px){.appointment-popup-grid,.appointment-history-grid{grid-template-columns:1fr}.appointment-popup-summary{display:grid}.appointment-popup-tab-list{overflow-x:auto;flex-wrap:nowrap}.appointment-popup-tab{white-space:nowrap}.document-attachment-item{align-items:flex-start;display:grid;grid-template-columns:auto minmax(0,1fr);}.document-attachment-item .btn{grid-column:2}}

/* MIT v0.4.23 appointment popup polish, history and therapist FAQ */
.mit-modal--stacked{z-index:1600}
.service-tax-responsibility{font-size:12px;line-height:1.45;color:#667085;margin:8px 0 0}
.patient-appointments-card .patient-appointment-list{margin-top:14px}
.patient-appointment-item .timeline-item__actions{gap:10px;align-items:flex-end}
.patient-appointment-item .timeline-item__actions .btn{white-space:nowrap}
.appointment-detail-modal-content .helper-text{line-height:1.5}
@media (max-width:720px){.patient-appointment-item{align-items:flex-start}.patient-appointment-item .timeline-item__actions{align-items:flex-start}}

/* MIT v0.4.23 appointment popup polish */
.appointment-summary-close{min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;font-size:24px;line-height:1;text-decoration:none;font-weight:800;padding:0}
.appointment-history-card{max-width:none;width:100%}
.appointment-history-list{display:grid;gap:12px}
.appointment-history-item{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid #eef2f7}
.appointment-history-item:last-child{border-bottom:0}
.appointment-history-icon{width:38px;height:38px;border-radius:14px;background:#eff7f5;color:#1f6e67;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.appointment-history-icon .mit-icon,.appointment-history-icon .material-symbols-rounded{width:18px;height:18px;font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.appointment-history-icon .mit-icon svg{width:18px;height:18px}
.appointment-history-copy{display:grid;gap:3px;min-width:0}
.appointment-history-copy strong{color:#1f273c;line-height:1.35}
.appointment-history-copy small{color:#667085}
.appointment-history-copy p{margin:2px 0 0;color:#667085;line-height:1.45}
.appointment-payment-email-form{display:grid;gap:8px}
.appointment-send-payment-btn,.appointment-send-payment-btn span,.appointment-send-payment-btn .mit-icon,.appointment-send-payment-btn .material-symbols-rounded{color:#fff!important}
.appointment-send-payment-btn .mit-icon svg{stroke:#fff!important;color:#fff!important}
.appointment-email-confirmation{margin:0;color:#1f6e67;font-weight:700}
.appointment-action-modal-options .choice-card span{min-height:104px;gap:6px}
.appointment-action-modal-options .choice-card .mit-icon,.appointment-action-modal-options .choice-card .material-symbols-rounded{width:22px;height:22px;font-size:22px;line-height:1;display:inline-flex;align-items:center;justify-content:center;align-self:start}
.appointment-action-modal-options .choice-card .mit-icon svg{width:22px;height:22px}

/* MIT 2.4.33 superadmin therapist capabilities */
.mit-column-picker{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}
.mit-column-picker__item{background:#f7fafc;border:1px solid #e4eaf3;border-radius:999px;padding:8px 12px;margin:0}
.mit-superadmin-therapist-table-wrap{overflow:auto;border:1px solid #e4eaf3;border-radius:18px;background:#fff;margin-bottom:18px}
.mit-superadmin-therapist-table{min-width:1180px;margin:0}
.mit-superadmin-therapist-table th,.mit-superadmin-therapist-table td{white-space:nowrap;vertical-align:middle}
.mit-superadmin-therapist-row{cursor:pointer}
.mit-superadmin-therapist-row:hover{background:#f8fbff}
.button-link{border:0;background:transparent;padding:0;margin:0;color:#1f6e67;font:inherit;text-align:left;cursor:pointer;text-decoration:none}
.button-link:hover{text-decoration:underline}
.mit-signal{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:5px 9px;font-weight:800;font-size:12px;letter-spacing:.02em;border:1px solid #dfe7ef;background:#fff;color:#475467}
.mit-signal__dot{width:10px;height:10px;border-radius:999px;background:#98a2b3;display:inline-block;box-shadow:0 0 0 3px rgba(152,162,179,.16)}
.mit-signal--on{color:#027a48;border-color:#abefc6;background:#ecfdf3}
.mit-signal--on .mit-signal__dot{background:#12b76a;box-shadow:0 0 0 3px rgba(18,183,106,.18)}
.mit-signal--off{color:#b42318;border-color:#fecdca;background:#fff1f3}
.mit-signal--off .mit-signal__dot{background:#f04438;box-shadow:0 0 0 3px rgba(240,68,56,.16)}
.mit-column-hidden{display:none!important}

.service-editor-fieldset {
  border: 0;
  margin: 0;
  padding: 0;
  min-width: 0;
}
.service-editor-fieldset[disabled] {
  opacity: 0.7;
}

/* MIT 2.4.34 therapist settings polish */
.mit-column-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;align-items:stretch}
.mit-column-picker .mit-column-picker__item{border-radius:16px;padding:12px 14px;margin:0;min-height:64px;background:#fff}
.mit-column-picker .settings-toggle-row__copy strong{font-size:13px}
.mit-admin-capability-grid{display:grid;gap:12px;margin-top:12px}
.mit-admin-capability-grid .settings-toggle-row{margin:0;align-items:center;justify-content:space-between}
.mit-admin-capability-grid .settings-toggle-row__copy{min-width:0}
.mit-admin-capability-grid .settings-toggle-row__copy span{display:block;margin-top:4px;color:#667085;font-size:12px;line-height:1.35}
.mit-admin-profile-fields{align-items:start}
.mit-public-profile-link{display:inline-flex;margin-top:4px;font-size:12px;font-weight:800;color:#1f6e67;text-decoration:none}
.mit-public-profile-link:hover{text-decoration:underline}
.service-video-toggle{width:48px;height:28px;vertical-align:middle}
.service-video-toggle span:after{width:20px;height:20px}
.service-video-toggle input:checked + span:after{transform:translateX(20px)}
.service-video-label{margin-top:6px;font-size:11px;line-height:1.25;color:#667085;white-space:normal;max-width:105px}
.service-video-info{margin:8px 0 14px;color:#667085;line-height:1.45}
.mit-diploma-certification.is-required-for-public-profile{border-color:rgba(86,187,180,.55);background:#f0fbfa;border-radius:16px;padding:12px}
.mit-required-public-note{display:block;margin-top:6px;color:#1f6e67;font-weight:700}
@media (max-width:720px){.mit-column-picker{grid-template-columns:1fr}.service-video-label{max-width:none}}

/* MIT 2.4.37 impersonation, profile tabs, runtime storage and calendar drag/drop */
.mit-inline-form{display:inline;margin:0}
.mit-superadmin-row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.mit-superadmin-row-actions .btn-xs{white-space:nowrap}
.mit-impersonation-bar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:2200;display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(920px,calc(100vw - 32px));padding:12px 14px;border-radius:18px;background:#111827;color:#fff;box-shadow:0 22px 60px rgba(15,23,42,.28)}
.mit-impersonation-bar__body{display:grid;gap:2px;min-width:0}
.mit-impersonation-bar__body strong{font-size:14px;line-height:1.2;color:#fff}
.mit-impersonation-bar__body small{font-size:12px;line-height:1.35;color:rgba(255,255,255,.76)}
.mit-impersonation-bar .btn{background:#fff;color:#111827;border-color:#fff;box-shadow:none;white-space:nowrap}
.mit-impersonation-bar .btn:hover{background:#f4f7fb;color:#111827}
.profile-tab-nav{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:4px 0 22px;padding:8px;border:1px solid #e4eaf3;border-radius:18px;background:#f8fbff}
.profile-tab{border:0;border-radius:14px;background:transparent;color:#667085;cursor:pointer;font-weight:800;padding:10px 14px;transition:background .16s ease,color .16s ease,box-shadow .16s ease}
.profile-tab:hover{background:#fff;color:#1f273c}
.profile-tab.is-active{background:#fff;color:#1f6e67;box-shadow:0 10px 28px rgba(31,39,60,.08)}
.profile-section[hidden],.profile-settings-card[hidden]{display:none!important}
.mit-booking-option-card{display:flex;gap:12px;align-items:flex-start;border:1px solid #e4eaf3;border-radius:16px;padding:14px;background:#fff;cursor:pointer;margin:0}
.mit-booking-option-card input{margin-top:3px;accent-color:#56bbb4}
.mit-booking-option-card strong{display:block;color:#1f273c;margin-bottom:3px}
.mit-booking-option-card small{display:block;color:#667085;line-height:1.4}
.mit-booking-slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.tax-pill--readonly{pointer-events:none;opacity:.9}
.js-calendar-day.is-drop-target{outline:2px dashed #56bbb4;outline-offset:-4px;background:#eef9f7}
.calendar-event.is-dragging{opacity:.62}
@media (max-width:760px){.mit-impersonation-bar{align-items:flex-start;flex-direction:column}.mit-impersonation-bar .btn{width:100%;justify-content:center}.mit-booking-slot-grid{grid-template-columns:1fr}.profile-tab-nav{overflow-x:auto;flex-wrap:nowrap}.profile-tab{white-space:nowrap}}

/* v2.4.42 dashboard UX fixes and i18n persistence */
.stat-grid-compact > div:not(.mit-card){display:flex;align-items:baseline;gap:7px;min-width:0}.stat-grid-compact > div:not(.mit-card) > span{color:#6e7690}.stat-grid-compact > div:not(.mit-card) > strong{font-weight:900}.portal-logout-link--icon-only{width:46px;height:46px;padding:0!important;gap:0!important}.settings-toggle-row.is-disabled-by-employee{opacity:.62;background:#f6f8fb}.settings-toggle-row.is-disabled-by-employee .settings-toggle-row__copy span:after{content:" Employé du centre : option désactivée automatiquement.";display:block;margin-top:4px;color:#8a5d18;font-weight:800}

/* v2.4.41 final dashboard layout overrides */
.dashboard-kpi-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 18px!important}
.dashboard-kpi-card{display:flex!important;align-items:flex-start;gap:14px;padding:18px!important;min-height:136px;color:var(--text);text-decoration:none;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--panel);box-shadow:var(--shadow)}
.dashboard-kpi-card__content{display:grid;gap:5px;min-width:0}
.dashboard-kpi-card__label{font-size:12px!important;text-transform:uppercase;letter-spacing:.04em;color:#71788c;font-weight:900;line-height:1.3}
.dashboard-kpi-card__value{font-size:28px!important;line-height:1.05;font-weight:950;color:#1d2338;word-break:break-word}
.dashboard-kpi-card__hint{font-size:13px;line-height:1.35;color:#687086;font-weight:650}
.dashboard-home-grid{display:grid;gap:18px;margin-top:18px}.dashboard-home-grid--status,.dashboard-home-grid--patient{grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr)}.dashboard-home-card{padding:22px}.dashboard-home-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.dashboard-home-card__head h3{margin:0 0 6px;font-size:20px}.dashboard-profile-percent{font-size:28px;line-height:1;color:#1d2338}.dashboard-profile-progress{margin:0 0 16px}.dashboard-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.dashboard-status-card{display:flex;gap:12px;align-items:flex-start;padding:14px!important;border:1px solid #e3e8f1;border-radius:18px;background:#fff;color:inherit;text-decoration:none;min-height:112px}.dashboard-status-card__body{display:grid;gap:4px;min-width:0}.dashboard-status-card__body strong{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#6d7489}.dashboard-status-card__body em{font-style:normal;font-weight:900;color:#1d2338;line-height:1.25}.dashboard-status-card__body small{font-size:12px;line-height:1.35;color:#697289}.dashboard-mini-summary{display:grid;grid-template-columns:1fr;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid #edf1f7}.dashboard-mini-summary--payments{grid-template-columns:repeat(2,minmax(0,1fr));border-top:0;padding-top:0;margin-top:0;margin-bottom:16px}.dashboard-mini-summary div{padding:12px 14px;border:1px solid #e7ebf3;border-radius:16px;background:#fbfcff}.dashboard-mini-summary span{display:block;color:#687086;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}.dashboard-mini-summary strong{font-size:18px;color:#1d2338}.dashboard-message-summary{display:flex;align-items:baseline;gap:10px;padding:18px;border:1px solid #e7ebf3;border-radius:18px;background:#fbfcff}.dashboard-message-summary strong{font-size:30px;line-height:1;color:#1d2338}.dashboard-next-appointment{display:grid;gap:8px;padding:18px;border:1px solid #e7ebf3;border-radius:20px;background:#fbfcff}.dashboard-next-appointment strong{font-size:20px;color:#1d2338}.dashboard-next-appointment span,.dashboard-next-appointment em{color:#687086;font-style:normal}
@media (max-width:1280px){.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-home-grid--status,.dashboard-home-grid--patient{grid-template-columns:1fr}.dashboard-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.dashboard-kpi-grid,.dashboard-status-grid,.dashboard-mini-summary--payments{grid-template-columns:1fr}.dashboard-kpi-card{min-height:auto}.dashboard-home-card{padding:18px}.dashboard-home-card__head{display:block}.dashboard-profile-percent{display:block;margin-top:8px}}

/* v2.4.41 — therapist/patient dashboard KPI refresh */
.dashboard-status-board{display:grid;grid-template-columns:minmax(360px,.95fr) minmax(420px,1.45fr);gap:18px;margin:0 0 18px}
.dashboard-status-board--patient{align-items:stretch}.dashboard-profile-card{padding:22px;display:grid;gap:18px}.dashboard-card-title{display:flex;align-items:flex-start;gap:14px}.dashboard-card-title h3{margin:0 0 4px;font-size:20px}.dashboard-card-title p{margin:0;color:var(--muted);line-height:1.45}.dashboard-card-title__icon{width:42px;height:42px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:var(--primary-soft);color:var(--primary-dark);font-size:22px;flex:0 0 auto}.dashboard-progress-row{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}.dashboard-progress-row__value{font-size:42px;font-weight:950;line-height:1;color:#1f273c}.dashboard-progress-row__body{display:grid;gap:9px}.dashboard-progress-row__hint{font-weight:700;color:#5f687c;font-size:13px}.dashboard-checklist-mini{display:flex;gap:8px;flex-wrap:wrap}.dashboard-check-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;border:1px solid #e1e6f2;background:#fff;color:#586176;font-size:12px;font-weight:800}.dashboard-check-pill .mit-icon{font-size:16px}.dashboard-check-pill.is-ok{background:var(--primary-soft);border-color:rgba(86,187,180,.38);color:#26786f}.dashboard-check-pill.is-missing{background:#fff7e6;border-color:rgba(240,195,106,.48);color:#916213}.dashboard-card-actions{margin-top:0}.dashboard-status-card-grid{padding:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-status-card{display:flex;gap:12px;align-items:flex-start;padding:15px;border:1px solid #e6ebf4;border-radius:18px;background:#fff;color:var(--text);text-decoration:none;min-width:0}.dashboard-status-card:hover{text-decoration:none;border-color:rgba(86,187,180,.42);box-shadow:0 10px 24px rgba(30,41,62,.06);transform:translateY(-1px)}.dashboard-status-card__icon{width:38px;height:38px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:#f4f6fb;color:#687086}.dashboard-status-card__icon .mit-icon{font-size:21px}.dashboard-status-card__copy{display:grid;gap:3px;min-width:0}.dashboard-status-card__label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#7b849a;font-weight:900}.dashboard-status-card strong{font-size:16px;color:#20263b}.dashboard-status-card small{color:#687086;line-height:1.35}.dashboard-status-card--ok .dashboard-status-card__icon{background:var(--success-soft);color:#227a50}.dashboard-status-card--warning .dashboard-status-card__icon{background:var(--warning-soft);color:#9a6714}.dashboard-status-card--info .dashboard-status-card__icon{background:var(--primary-soft);color:var(--primary-dark)}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0}.dashboard-kpi-grid--patient{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-kpi-card{position:relative;overflow:hidden;padding:18px 18px 17px;display:grid;gap:7px;color:var(--text);text-decoration:none;min-height:148px}.dashboard-kpi-card:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 16px 34px rgba(32,35,66,.1)}.dashboard-kpi-card__icon{width:42px;height:42px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:#f4f6fb;color:#6a7287}.dashboard-kpi-card__icon .mit-icon{font-size:23px}.dashboard-kpi-card__label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#777f95;font-weight:900}.dashboard-kpi-card__value{font-size:30px;line-height:1;font-weight:950;color:#1d2338}.dashboard-kpi-card small{color:#687086;line-height:1.35;font-weight:650}.dashboard-kpi-card--ok .dashboard-kpi-card__icon{background:var(--success-soft);color:#227a50}.dashboard-kpi-card--warning .dashboard-kpi-card__icon{background:var(--warning-soft);color:#9a6714}.dashboard-kpi-card--info .dashboard-kpi-card__icon{background:var(--primary-soft);color:var(--primary-dark)}.dashboard-kpi-card--neutral .dashboard-kpi-card__icon{background:#f3f6fb;color:#657085}.dashboard-action-summary{display:grid;gap:10px}.dashboard-action-summary>div,.dashboard-money-grid>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border:1px solid #e8ecf5;border-radius:16px;background:#fbfcff;padding:12px 14px}.dashboard-action-summary span,.dashboard-money-grid span{font-size:13px;font-weight:800;color:#687086}.dashboard-action-summary strong,.dashboard-money-grid strong{font-size:17px;color:#20263b;text-align:right}.dashboard-money-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 16px}.dashboard-help-list{display:grid;gap:12px}.dashboard-help-list p{margin:0;padding:14px 16px;border:1px solid #e8ecf5;border-radius:16px;background:#fbfcff;display:grid;gap:4px}.dashboard-help-list strong{color:#20263b}.dashboard-help-list span{color:#687086;line-height:1.45}.dashboard-next-item{display:grid;gap:7px;padding:16px;border:1px solid #e8ecf5;border-radius:18px;background:#fbfcff}.dashboard-next-item strong{font-size:18px}.dashboard-next-item span:not(.pill){color:#5f687c;font-weight:700}.dashboard-next-item .pill{justify-self:start;margin-top:4px}
@media (max-width:1280px){.dashboard-status-board,.dashboard-kpi-grid,.dashboard-kpi-grid--patient{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-status-card-grid{grid-template-columns:1fr}}
@media (max-width:760px){.dashboard-status-board,.dashboard-kpi-grid,.dashboard-kpi-grid--patient,.dashboard-money-grid{grid-template-columns:1fr}.dashboard-progress-row{grid-template-columns:1fr}.dashboard-progress-row__value{font-size:34px}.dashboard-status-card-grid,.dashboard-profile-card{padding:18px}.dashboard-kpi-card{min-height:auto}.dashboard-action-summary>div,.dashboard-money-grid>div{align-items:flex-start;flex-direction:column}.dashboard-action-summary strong,.dashboard-money-grid strong{text-align:left}}


/* v2.4.42 — superadmin cleanup and sidebar action compacting */
.portal-sidebar-bottom .portal-logout-link{width:46px;height:46px;min-width:46px;padding:0;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;}
.portal-sidebar-bottom .portal-logout-link span{display:none!important;}
.portal-sidebar-bottom .portal-logout-link .nav-icon{margin:0;}
.stat-grid-compact > div > span,.stat-grid-compact article .mini-label{display:block;margin-bottom:6px;}
.stat-grid-compact > div > strong{display:block;}
.settings-toggle-row.is-disabled{opacity:.58;background:#f8fafc;}
.settings-toggle-row.is-disabled .toggle-switch{cursor:not-allowed;}
.mit-vat-admin-card{margin-top:0;}


/* v2.4.42: sidebar logout is icon-only and employee capability disabled state. */
.portal-logout-link--icon-only{width:52px;min-width:52px;max-width:52px;padding:12px!important;aspect-ratio:1/1;overflow:hidden;}
.portal-logout-link--icon-only .nav-icon{margin:0;}
.settings-toggle-row.is-disabled-by-employee{opacity:.62;background:#f8fafc;}
.settings-toggle-row.is-disabled-by-employee input[disabled] + span{cursor:not-allowed;}
.stat-grid-compact > div{display:block;}
.stat-grid-compact > div > span{display:block;margin-bottom:6px;}
.stat-grid-compact > div > strong{display:block;}

/* v2.4.42 final superadmin modal/layout fixes */
.mit-modal[aria-hidden="true"]{display:none!important}
.mit-superadmin-patient-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}
.mit-superadmin-patient-kpis .mini-stat{padding:14px 16px!important;border-radius:18px;box-shadow:none;background:#fbfcff;border:1px solid #e7ebf3;display:grid;gap:6px}
.mit-superadmin-patient-kpis .mini-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#6e7690;font-weight:900;line-height:1.25}
.mit-superadmin-patient-kpis .mini-value{font-size:20px;font-weight:950;color:#1f273c;line-height:1.1}
.portal-sidebar-utilities{display:flex;align-items:center;gap:8px;min-width:0;width:100%}
.portal-sidebar-bottom .portal-logout-link.portal-logout-link--icon-only{flex:0 0 42px!important;width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;padding:0!important;overflow:visible!important;border-radius:14px!important}
.portal-sidebar-bottom .portal-logout-link.portal-logout-link--icon-only .nav-icon{margin:0!important;font-size:20px!important}
.portal-sidebar-bottom .portal-logout-link.portal-logout-link--icon-only span:not(.nav-icon){display:none!important}
.settings-toggle-row.is-disabled-by-employee{opacity:.62;background:#f6f8fb}
.settings-toggle-row.is-disabled-by-employee input[type="checkbox"]{cursor:not-allowed}
@media (max-width:760px){.mit-superadmin-patient-kpis{grid-template-columns:1fr}}


/* 2.4.42: superadmin patient details and therapist admin panel cleanup */
.mit-superadmin-patient-kpis{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;}
.mit-superadmin-patient-kpis .mini-stat{padding:14px 16px;}
.mit-superadmin-patient-kpis .mini-label{display:block;margin-bottom:8px;color:#6f7890;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;}
.mit-superadmin-patient-kpis .mini-value{font-size:1.08rem;font-weight:950;color:#1f263b;white-space:nowrap;}
.mit-superadmin-therapist-settings-card{grid-column:1 / -1;}
.mit-admin-employee-fields[hidden]{display:none!important;}
.settings-toggle-row.is-disabled-by-employee{opacity:.62;background:#f6f8fb;}
.portal-logout-link--icon-only{width:46px;min-width:46px;max-width:46px;height:46px;padding:0!important;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;}
.portal-logout-link--icon-only span{display:none!important;}
.portal-logout-link--icon-only .nav-icon{margin:0;}


/* v2.4.42 final — readable patient stats, employee panel and compact logout */
.portal-sidebar-bottom .portal-logout-link,.portal-logout-link--icon-only{width:46px!important;min-width:46px!important;max-width:46px!important;height:46px!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;white-space:nowrap!important;}
.portal-sidebar-bottom .portal-logout-link span,.portal-logout-link--icon-only span{display:none!important;}
.portal-sidebar-bottom .portal-logout-link .nav-icon,.portal-logout-link--icon-only .nav-icon{margin:0!important;}
.stat-grid-compact > div:not(.mit-card){display:grid!important;gap:6px!important;align-content:start!important;min-width:0!important;}
.stat-grid-compact > div:not(.mit-card) > span{display:block!important;color:#687086;font-size:13px;font-weight:800;line-height:1.25;margin:0!important;}
.stat-grid-compact > div:not(.mit-card) > strong{display:block!important;color:#20263b;font-size:17px;font-weight:950;line-height:1.25;margin:0!important;}
.mit-admin-employee-fields{border:1px solid #e5eaf3;border-radius:18px;background:#fbfcff;padding:14px 16px;}
.mit-admin-employee-fields summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;}
.mit-admin-employee-fields summary::-webkit-details-marker{display:none;}
.mit-admin-employee-fields summary strong{color:#20263b;}
.mit-admin-employee-fields summary span{color:#687086;font-size:12px;font-weight:700;}
.mit-admin-employee-fields[open]{background:#fff;box-shadow:0 10px 26px rgba(24,32,53,.06);}

/* v2.4.45 — appointment cards inside message threads */
.mit-message-appointment-card{width:100%;display:flex;align-items:center;gap:12px;text-align:left;margin:0 0 16px;padding:14px 16px;border-radius:18px;border:1px solid rgba(87,184,175,.28);background:#f0fdfa;color:#152033;cursor:pointer;box-shadow:0 10px 24px rgba(28,39,65,.06)}
.mit-message-appointment-card:hover{border-color:#57b8af;box-shadow:0 12px 28px rgba(87,184,175,.18);transform:translateY(-1px)}
.mit-message-appointment-card__icon{width:38px;height:38px;border-radius:14px;background:#fff;display:inline-flex;align-items:center;justify-content:center;color:#0f8f84;flex:0 0 auto}
.mit-message-appointment-card__body{display:grid;gap:3px;min-width:0;flex:1 1 auto}
.mit-message-appointment-card__body strong{font-size:14px;font-weight:950;color:#1f263b;line-height:1.25}
.mit-message-appointment-card__body small{font-size:12px;font-weight:700;color:#687086;line-height:1.3}
.mit-message-appointment-modal[hidden]{display:none!important}
.mit-message-appointment-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:18px}
.mit-message-appointment-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.48);backdrop-filter:blur(4px)}
.mit-message-appointment-modal__panel{position:relative;width:min(520px,100%);border-radius:24px;background:#fff;box-shadow:0 30px 80px rgba(15,23,42,.28);padding:24px}
.mit-message-appointment-modal__panel h3{margin:0 0 16px;font-size:22px;color:#1f263b}
.mit-message-appointment-modal__close{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:999px;border:1px solid rgba(15,23,42,.08);background:#fff;cursor:pointer;font-size:24px;line-height:1;color:#1f263b}
.mit-message-appointment-modal__content dl{display:grid;grid-template-columns:120px 1fr;gap:10px 14px;margin:0}
.mit-message-appointment-modal__content dt{color:#687086;font-weight:900;text-transform:uppercase;letter-spacing:.04em;font-size:12px}
.mit-message-appointment-modal__content dd{margin:0;color:#1f263b;font-weight:800}
@media (max-width:640px){.mit-message-appointment-card{align-items:flex-start}.mit-message-appointment-card .pill{margin-left:auto}.mit-message-appointment-modal__content dl{grid-template-columns:1fr}.mit-message-appointment-modal__content dt{margin-top:8px}}

/* v2.4.46 — therapist dashboard layout fixes */
.profile-top-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:0 0 18px;flex-wrap:wrap}.profile-top-actions .btn{white-space:nowrap}.billing-tab-nav{margin:0 0 22px}.billing-tab-section[hidden]{display:none!important}.profile-help-tips-section{margin-top:22px}.mit-billing-issued-date{margin:4px 0 6px;color:#64748b;font-weight:700}.mit-billing-reminder-btn{margin-top:12px;align-self:flex-start}.mit-billing-amounts-summary strong{display:block;font-size:1.1rem;color:#111827}.mit-billing-amounts-summary span{display:block;margin-top:4px;color:#64748b}.mit-billing-detail-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;align-items:stretch}.mit-billing-summary-card>.mit-icon,.mit-billing-summary-card>.material-symbols-rounded{display:inline-flex!important;align-items:center;justify-content:center;width:34px;height:34px;min-width:34px;border-radius:999px;background:#e8faf7!important;color:#23948a!important}.mit-billing-summary-card>.mit-icon svg{width:18px;height:18px;display:block}.mit-billing-summary-card dt{color:#667085}.mit-billing-summary-card dd{word-break:normal;overflow-wrap:break-word}.mit-billing-log-card .mit-billing-log-summary{max-height:132px;overflow:auto;padding-right:4px}.portal-sidebar-bottom .portal-logout-link.portal-logout-link--icon-only>.mit-icon.nav-icon,.portal-logout-link--icon-only>.mit-icon.nav-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;visibility:visible!important;opacity:1!important}.portal-logout-link--icon-only>.mit-icon.nav-icon svg{display:block!important;width:20px!important;height:20px!important}.portal-sidebar-bottom .portal-logout-link.portal-logout-link--icon-only span:not(.mit-icon):not(.nav-icon),.portal-logout-link--icon-only span:not(.mit-icon):not(.nav-icon){display:none!important}.dashboard-kpi-card{display:grid!important;grid-template-columns:46px minmax(0,1fr)!important;grid-template-areas:"icon label" "icon value" "icon hint"!important;align-items:center!important;gap:5px 14px!important;min-height:126px!important;overflow:visible!important}.dashboard-kpi-card__icon{grid-area:icon!important;align-self:start!important;margin-top:0!important}.dashboard-kpi-card__label{grid-area:label!important;min-width:0!important;line-height:1.15!important;word-break:normal!important;overflow-wrap:normal!important}.dashboard-kpi-card__value{grid-area:value!important;font-size:clamp(24px,1.9vw,31px)!important;line-height:1.02!important;letter-spacing:-.025em!important;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;min-width:0!important}.dashboard-kpi-card small{grid-area:hint!important;min-width:0!important;line-height:1.25!important;word-break:normal!important}.dashboard-kpi-card__content{min-width:0}.notification-matrix--templates th:nth-child(3),.notification-matrix--templates td:nth-child(3){display:none!important}[data-cancellation-reduction-field] .input-with-suffix{max-width:150px;display:inline-flex!important}[data-cancellation-reduction-field] .input-with-suffix input{min-width:0!important;max-width:105px!important}@media(max-width:1200px){.mit-billing-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:760px){.profile-top-actions{justify-content:stretch}.profile-top-actions .btn{width:100%;justify-content:center}.dashboard-kpi-card{grid-template-columns:42px minmax(0,1fr)!important;min-height:84px!important}.dashboard-kpi-card__value{font-size:clamp(22px,8vw,29px)!important}.mit-billing-detail-grid{grid-template-columns:1fr!important}}
