/* Appointment assistant page (inc/assistant.php, assets/js/assistant.js). Plain text only: every message is set with textContent.
   The guided flow is a step-by-step "sheet" in the look of the apps' "Find my specialist"; the tool chat keeps a quieter chat look. */
.mas-app{padding:clamp(12px,3vw,40px) var(--ds-gutter,16px) clamp(24px,5vw,64px);color:var(--ds-text,#172B2A);background:radial-gradient(900px 420px at 50% -80px,var(--ds-mint-strong,#E1F2EC),transparent 70%)}
.mas-sheet{position:relative;max-width:560px;margin:0 auto;min-height:min(720px,calc(100dvh - 140px));display:flex;flex-direction:column;background:var(--ds-surface,#fff);border:1px solid var(--ds-line,#DDE7E3);border-radius:28px;box-shadow:0 24px 60px -28px rgba(0,60,52,.35),0 2px 6px rgba(23,43,42,.05);overflow:clip}
.mas-sheet [hidden]{display:none!important}
.mas-ic{width:22px;height:22px;flex:none}
.mas-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---- top bar + progress ---- */
.mas-wizard{display:flex;flex-direction:column;flex:1;min-height:0}
.mas-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 16px 10px}
.mas-iconbtn{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--ds-deep,#005B50);cursor:pointer;transition:background-color .18s}
.mas-iconbtn:hover{background:var(--ds-mint,#F2FAF7)}.mas-iconbtn .mas-ic{width:26px;height:26px}
.mas-step{font-size:.82rem;font-weight:700;color:var(--ds-text-2,#526563)}
.mas-skip{display:inline-flex;align-items:center;min-height:36px;padding:0 16px;border-radius:999px;background:var(--ds-mint,#F2FAF7);color:var(--ds-deep,#005B50);font-size:.85rem;font-weight:700;text-decoration:none}
.mas-skip:hover{background:var(--ds-mint-strong,#E1F2EC)}
.mas-bar{height:6px;margin:0 20px;border-radius:3px;background:var(--ds-mint-strong,#E1F2EC);overflow:hidden}
.mas-bar>i{display:block;height:100%;width:0;border-radius:3px;background:linear-gradient(90deg,var(--ds-brand,#00A693),var(--ds-action,#007A6A));transition:width .5s cubic-bezier(.3,.8,.3,1)}
.mas-bar.is-idle{opacity:.45}
.mas-err{margin:12px 20px 0;padding:10px 14px;border-radius:12px;background:var(--ds-danger-bg,#FEF3F2);border:1px solid var(--ds-danger-line,#F2B8B2);color:var(--ds-danger,#B42318);font-size:.9rem}
.mas-err[data-kind=warn]{background:var(--ds-warning-bg,#FFFAEB);border-color:var(--ds-warning-line,#F1CE8A);color:var(--ds-warning,#B54708)}

/* ---- stage ---- */
.mas-stage{flex:1;padding:18px 20px 28px;position:relative}
.mas-stage.is-busy{pointer-events:none}.mas-stage.is-busy .mas-list,.mas-stage.is-busy .mas-stack{opacity:.6}
.mas-stage.is-in>*{animation:mas-rise .32s cubic-bezier(.25,.8,.3,1) both}
.mas-q{margin:6px 0 6px;font-size:clamp(1.35rem,1.1rem + 1.2vw,1.65rem);line-height:1.5;font-weight:800;color:var(--ds-text,#172B2A);text-wrap:balance}
.mas-q:focus{outline:none}
.mas-lead{margin:2px 0 10px;color:var(--ds-text-2,#526563);line-height:1.95;white-space:pre-line}
.mas-lead--ink{color:var(--ds-text,#172B2A);font-size:1.05rem}
.mas-muted{color:var(--ds-text-2,#526563);font-size:.88rem}
.mas-list{display:grid;gap:10px;margin-top:14px}
.mas-list--grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mas-list--grid .mas-tile,[dir=rtl] .mas-list--grid .mas-tile{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:10px;min-height:104px;padding:14px}
.mas-list--grid .mas-tile__ic{width:46px;height:46px;border-radius:14px}.mas-list--grid .mas-tile__ic .mas-ic{width:24px;height:24px}
.mas-list--grid .mas-tile__t{flex:none;font-size:.95rem;line-height:1.55}
.mas-list--grid .mas-chev{display:none}
.mas-list--grid .mas-tile--time .mas-time{font-size:1.25rem}
.mas-stack{display:grid;gap:10px;width:100%;margin-top:6px}
.mas-center{display:grid;justify-items:center;text-align:center;gap:10px;padding-top:14px}
.mas-center .mas-q{text-align:center}

/* ---- icon tiles ---- */
.mas-tile{display:flex;align-items:center;gap:14px;width:100%;padding:12px 14px 12px 12px;border:1.5px solid var(--ds-line,#DDE7E3);border-radius:20px;background:var(--ds-surface,#fff);color:inherit;font:inherit;text-align:start;cursor:pointer;transition:border-color .18s,transform .18s,box-shadow .18s,background-color .18s}
[dir=rtl] .mas-tile{padding:12px 12px 12px 14px}
.mas-tile:hover{border-color:var(--ds-action,#007A6A);background:var(--ds-mint,#F2FAF7);transform:translateY(-1px);box-shadow:0 10px 24px -14px rgba(0,90,80,.45)}
.mas-tile:active{transform:scale(.99)}
.mas-tile__ic{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:16px;background:var(--t-bg,var(--ds-mint,#F2FAF7));color:var(--t-ink,var(--ds-action,#007A6A));transition:transform .2s}
.mas-tile:hover .mas-tile__ic{transform:scale(1.06) rotate(-3deg)}
.mas-tile__ic .mas-ic{width:26px;height:26px}
.mas-tile__t{flex:1;font-weight:700;font-size:1rem;line-height:1.5;display:grid;gap:2px}
.mas-tile__t small{font-weight:500;color:var(--ds-text-2,#526563);font-size:.82rem}
.mas-time{font-size:1.2rem;font-weight:800;letter-spacing:.01em;font-variant-numeric:tabular-nums}
.mas-chev{color:var(--ds-control-line,#7F8F8C);opacity:.7;width:20px;height:20px;transition:transform .18s,opacity .18s}
.mas-tile:hover .mas-chev{opacity:1;color:var(--ds-action,#007A6A);transform:translateX(2px)}
[dir=rtl] .mas-tile:hover .mas-chev{transform:translateX(-2px)}
.mas-zone{display:flex;align-items:center;gap:6px;margin:0;color:var(--ds-text-2,#526563);font-size:.86rem}.mas-zone .mas-ic{width:16px;height:16px}

/* ---- buttons ---- */
.mas-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;min-height:52px;padding:10px 22px;border:1.5px solid transparent;border-radius:16px;background:var(--ds-surface,#fff);color:var(--ds-action,#007A6A);font:inherit;font-weight:700;text-decoration:none;cursor:pointer;transition:background-color .18s,transform .18s,box-shadow .18s,border-color .18s}
.mas-btn:hover{transform:translateY(-1px)}.mas-btn:active{transform:scale(.99)}
.mas-btn .mas-ic{width:20px;height:20px}
.mas-btn small{flex-basis:100%;text-align:center;font-weight:500;opacity:.8;font-size:.78rem;margin-top:-4px}
.mas-btn--primary{background:var(--ds-action,#007A6A);color:var(--ds-on-action,#fff);box-shadow:0 12px 22px -12px rgba(0,122,106,.8)}
.mas-btn--primary:hover{background:var(--ds-action-hover,#005B50);color:#fff}
.mas-btn--soft{background:var(--ds-mint-strong,#E1F2EC);color:var(--ds-deep,#005B50)}.mas-btn--soft:hover{background:var(--ds-f-teal-bg,#DDF4EF)}
.mas-btn--outline{border-color:var(--ds-action,#007A6A);background:transparent}.mas-btn--outline:hover{background:var(--ds-mint,#F2FAF7)}
.mas-btn[disabled]{opacity:.55;cursor:default;transform:none}
.mas-textbtn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 6px;border:0;background:none;color:var(--ds-deep,#005B50);font:inherit;font-weight:700;cursor:pointer}
.mas-textbtn .mas-ic{width:20px;height:20px}

/* ---- therapist card ---- */
.mas-card{display:grid;gap:12px;padding:16px;border:1px solid var(--ds-line,#DDE7E3);border-radius:24px;background:var(--ds-surface,#fff);box-shadow:var(--ds-shadow-card,0 8px 20px -6px rgba(23,43,42,.18));transition:transform .2s,box-shadow .2s,border-color .2s}
.mas-card:hover{transform:translateY(-2px);border-color:var(--ds-f-teal-bg,#DDF4EF);box-shadow:0 18px 34px -16px rgba(0,90,80,.45)}
.mas-card__main{display:flex;align-items:center;gap:14px;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:start;cursor:pointer}
.mas-avatar{display:grid;place-items:center;flex:none;width:64px;height:64px;border-radius:50%;background:var(--ds-mint-strong,#E1F2EC);color:var(--ds-action,#007A6A);overflow:hidden;box-shadow:0 0 0 3px var(--ds-surface,#fff),0 0 0 4.5px var(--ds-mint-strong,#E1F2EC)}
.mas-avatar img{width:100%;height:100%;object-fit:cover}.mas-avatar .mas-ic{width:30px;height:30px}
.mas-card__info{flex:1;display:grid;gap:2px;min-width:0}
.mas-card__name{font-weight:800;font-size:1.06rem;line-height:1.5}
.mas-card__title{color:var(--ds-text-2,#526563);font-size:.86rem}
.mas-rating{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:999px;background:var(--ds-accent-bg,#FBF3EA);color:var(--ds-accent,#8F5A24);font-size:.85rem}
.mas-rating .mas-ic{width:14px;height:14px;fill:var(--ds-star,#EAB04A);stroke:var(--ds-star,#EAB04A)}
.mas-card__why{display:grid;gap:4px;margin:0;padding:0;list-style:none;font-size:.86rem;color:var(--ds-text-2,#526563)}
.mas-card__why li{display:flex;align-items:center;gap:6px}.mas-card__why .mas-ic{width:16px;height:16px;color:var(--ds-action,#007A6A)}
.mas-card__sep{border-top:1.5px dashed var(--ds-line,#DDE7E3)}
.mas-card__meta{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mas-price{font-size:1.2rem;font-weight:800;color:var(--ds-deep,#005B50)}
.mas-card__act{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mas-card__act .mas-btn{min-height:46px;padding:8px 12px}

/* ---- hero, confirm, consent, more ---- */
.mas-hero{display:grid;place-items:center;margin-bottom:4px}
.mas-hero__ring{display:grid;place-items:center;width:112px;height:112px;border-radius:50%;background:radial-gradient(circle at 30% 25%,var(--ds-f-teal-bg,#DDF4EF),var(--ds-mint,#F2FAF7) 70%);animation:mas-pop .5s cubic-bezier(.2,.9,.3,1.2) both}
.mas-hero__core{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--ds-surface,#fff);color:var(--ds-action,#007A6A);box-shadow:0 10px 22px -10px rgba(0,90,80,.45)}
.mas-hero__core .mas-ic{width:34px;height:34px}
.mas-hero--lg .mas-hero__ring{width:136px;height:136px}.mas-hero--lg .mas-hero__core{width:88px;height:88px}.mas-hero--lg .mas-hero__core .mas-ic{width:42px;height:42px}
.mas-bigprice{margin:0;font-size:1.6rem;font-weight:800;color:var(--ds-deep,#005B50)}
.mas-confirm{display:grid;gap:14px}
.mas-summary{display:flex;align-items:center;gap:14px;padding:18px;border:1.5px solid var(--ds-action,#007A6A);border-radius:22px;background:linear-gradient(160deg,var(--ds-mint,#F2FAF7),var(--ds-surface,#fff));box-shadow:var(--ds-shadow-card,none)}
.mas-summary .mas-ic{width:26px;height:26px;flex:none;color:var(--ds-action,#007A6A)}.mas-summary__t{display:grid;gap:2px;min-width:0}.mas-summary p{margin:0;font-weight:600;line-height:1.7;color:var(--ds-text-2,#526563)}.mas-summary p.is-who{font-weight:800;font-size:1.08rem;color:var(--ds-text,#172B2A)}.mas-summary p:last-child:not(.is-who){font-weight:800;color:var(--ds-deep,#005B50)}
.mas-consent{display:grid;gap:14px}
.mas-note{padding:16px;border:1px solid var(--ds-line,#DDE7E3);border-radius:18px;background:var(--ds-tint,#F1F5F4);line-height:1.95;font-size:.92rem;white-space:pre-line}
.mas-more{display:grid;gap:8px;margin-top:10px}.mas-more__t{margin:0;font-weight:700;color:var(--ds-deep,#005B50)}
.mas-chips{display:flex;flex-wrap:wrap;gap:8px}
.mas-chip{padding:8px 14px;border:1.5px solid var(--ds-action,#007A6A);border-radius:999px;background:var(--ds-surface,#fff);color:var(--ds-deep,#005B50);font:inherit;font-size:.86rem;font-weight:700;cursor:pointer;transition:background-color .18s}
.mas-chip:hover{background:var(--ds-mint,#F2FAF7)}
.mas-input{width:100%;padding:12px 14px;border:1.5px solid var(--ds-control-line,#7F8F8C);border-radius:14px;background:var(--ds-surface,#fff);color:inherit;font:inherit}
.mas-hits{display:grid;gap:6px}.mas-hit{padding:12px 14px;border:1px solid var(--ds-line,#DDE7E3);border-radius:14px;background:var(--ds-surface,#fff);font:inherit;text-align:start;cursor:pointer}.mas-hit:hover{background:var(--ds-mint,#F2FAF7);border-color:var(--ds-action,#007A6A)}

/* ---- the "write in your own words" dock ---- */
.mas-dock{position:sticky;bottom:0;z-index:3;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--ds-line,#DDE7E3);background:color-mix(in srgb,var(--ds-surface,#fff) 90%,transparent);backdrop-filter:blur(10px)}
.mas-write{display:flex;align-items:center;gap:12px;width:100%;min-height:58px;padding:8px 14px 8px 10px;border:1.5px solid var(--ds-action,#007A6A);border-radius:18px;background:linear-gradient(160deg,var(--ds-mint-strong,#E1F2EC),var(--ds-mint,#F2FAF7));color:var(--ds-deep,#005B50);font:inherit;font-weight:800;text-align:start;cursor:pointer;box-shadow:0 10px 22px -14px rgba(0,90,80,.6);transition:transform .18s,box-shadow .18s,background-color .18s}
[dir=rtl] .mas-write{padding:8px 10px 8px 14px}
.mas-write:hover{transform:translateY(-1px);box-shadow:0 14px 26px -14px rgba(0,90,80,.7)}.mas-write:active{transform:scale(.99)}
.mas-write__ic{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:var(--ds-action,#007A6A);color:#fff}
.mas-write__ic .mas-ic{width:20px;height:20px}
.mas-write__t{flex:1;font-size:1rem}
.mas-write .mas-chev{opacity:1;color:var(--ds-action,#007A6A)}
@media (prefers-reduced-motion:no-preference){.mas-write__ic{animation:mas-nudge 3.2s ease-in-out 1.2s 2}@keyframes mas-nudge{0%,100%{transform:none}20%{transform:rotate(-14deg) scale(1.1)}40%{transform:rotate(10deg) scale(1.1)}60%{transform:none}}}
.mas-compose{display:flex;align-items:flex-end;gap:8px}
.mas-compose textarea{flex:1;min-height:48px;max-height:120px;padding:12px 14px;border:1.5px solid var(--ds-control-line,#7F8F8C);border-radius:18px;background:var(--ds-surface,#fff);color:inherit;font:inherit;line-height:1.6;resize:none}
.mas-sendbtn{display:grid;place-items:center;flex:none;width:48px;height:48px;border:0;border-radius:50%;background:var(--ds-action,#007A6A);color:#fff;cursor:pointer;transition:background-color .18s,transform .18s}
.mas-sendbtn:hover{background:var(--ds-action-hover,#005B50);transform:scale(1.05)}.mas-sendbtn[disabled]{opacity:.45;cursor:default;transform:none}
.mas-foot{margin:0;padding:10px 20px 18px;text-align:center;font-size:.78rem;color:var(--ds-text-2,#526563)}
.mas-link{background:none;border:0;color:var(--ds-action,#007A6A);font:inherit;cursor:pointer;padding:0}

/* ---- loading ---- */
.mas-loading{position:absolute;inset:0;z-index:6;display:none;place-items:center;background:color-mix(in srgb,var(--ds-surface,#fff) 62%,transparent);backdrop-filter:blur(2px)}
.mas-loading.is-on{display:grid}
.mas-spin{width:38px;height:38px;border-radius:50%;border:3.5px solid var(--ds-mint-strong,#E1F2EC);border-top-color:var(--ds-action,#007A6A);animation:mas-spin .8s linear infinite}

/* ---- focus ---- */
.mas-tile:focus-visible,.mas-btn:focus-visible,.mas-card__main:focus-visible,.mas-iconbtn:focus-visible,.mas-skip:focus-visible,.mas-chip:focus-visible,.mas-write:focus-visible,.mas-sendbtn:focus-visible,.mas-textbtn:focus-visible,.mas-hit:focus-visible,.mas-compose textarea:focus-visible,.mas-input:focus-visible,.mas-slot:focus-visible,.mas-form textarea:focus-visible,.mas-send:focus-visible{outline:3px solid var(--ds-focus,#005B50);outline-offset:2px}

@keyframes mas-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes mas-pop{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}
@keyframes mas-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.mas-stage.is-in>*,.mas-hero__ring,.mas-spin{animation:none}.mas-bar>i,.mas-tile,.mas-card,.mas-btn,.mas-tile__ic,.mas-chev{transition:none}.mas-spin{border-top-color:var(--ds-action,#007A6A)}}

/* ---- phone: the sheet becomes the page ---- */
@media (max-width:640px){
	.mas-app{padding:0;background:var(--ds-surface,#fff)}
	.mas-sheet{border:0;border-radius:0;box-shadow:none;min-height:calc(100dvh - 120px)}
	.mas-stage{padding:14px 16px 24px}
	.mas-card__act{grid-template-columns:1fr}
}

/* ---- chat mode (tool engine, therapists' schedule assistant) ---- */
.mas-chatmode{padding:24px 20px 8px}
.mas-head h1{font-size:var(--ds-fs-2xl,1.6rem);margin:0 0 4px}
.mas-sub{margin:0 0 14px;color:var(--ds-text-2,#526563)}
.mas-notice{background:var(--ds-tint,#F1F5F4);border:1px solid var(--ds-line,#DDE7E3);border-radius:12px;padding:10px 14px;margin-bottom:12px;font-size:.92rem}
.mas-notice[data-kind=warn]{background:var(--ds-warning-bg,#FFFAEB);border-color:var(--ds-warning-line,#F1CE8A)}
.mas-chat{display:flex;flex-direction:column;gap:10px;min-height:220px;max-height:60vh;overflow-y:auto;padding:4px 2px 8px}
.mas-msg{max-width:92%;padding:10px 14px;border-radius:18px;line-height:1.8;white-space:pre-wrap;word-break:break-word}
.mas-msg--user{align-self:flex-start;background:var(--ds-action,#007A6A);color:var(--ds-on-action,#fff);border-end-start-radius:4px}
.mas-msg--bot{align-self:flex-end;background:var(--ds-mint,#F2FAF7);border:1px solid var(--ds-line,#DDE7E3);border-end-end-radius:4px}
[dir=rtl] .mas-msg--user{align-self:flex-end}[dir=rtl] .mas-msg--bot{align-self:flex-start}
.mas-ui{display:flex;flex-direction:column;gap:8px;margin-top:6px;width:100%}
.mas-ccard{background:var(--ds-surface,#fff);border:1px solid var(--ds-line,#DDE7E3);border-radius:16px;padding:12px 14px;display:flex;gap:12px;box-shadow:var(--ds-shadow-card,none)}
.mas-ccard img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none;background:var(--ds-tint,#F1F5F4)}
.mas-ccard h3{margin:0;font-size:1rem}.mas-ccard p{margin:2px 0;font-size:.88rem;color:var(--ds-text-2,#526563)}
.mas-ccard a{font-weight:700;color:var(--ds-action,#007A6A)}
.mas-slots{display:flex;flex-wrap:wrap;gap:6px}
.mas-slot{display:inline-block;border:1.5px solid var(--ds-action,#007A6A);background:var(--ds-surface,#fff);color:var(--ds-action,#007A6A);border-radius:999px;padding:7px 14px;font:inherit;font-size:.88rem;text-decoration:none;cursor:pointer}
.mas-slot:hover{background:var(--ds-mint,#F2FAF7)}
.mas-slot--primary{background:var(--ds-action,#007A6A);color:var(--ds-on-action,#fff)}.mas-slot--primary:hover{background:var(--ds-action-hover,#005B50);color:#fff}
.mas-slot[disabled]{opacity:.5;cursor:default}
.mas-confirmbox{border:2px solid var(--ds-action,#007A6A);border-radius:16px;padding:12px 14px;background:var(--ds-surface,#fff)}
.mas-confirmbox strong{display:block;margin-bottom:8px}.mas-confirmbox .mas-row{display:flex;gap:8px;flex-wrap:wrap}
.mas-chatmode .mas-chips{margin:6px 0}
.mas-form{display:flex;gap:8px;align-items:flex-end;margin-top:8px}
.mas-form textarea{flex:1;border:1.5px solid var(--ds-control-line,#7F8F8C);border-radius:16px;padding:10px 12px;font:inherit;resize:vertical;min-height:48px}
.mas-send{border:0;border-radius:14px;background:var(--ds-action,#007A6A);color:var(--ds-on-action,#fff);padding:12px 20px;font:inherit;font-weight:700;cursor:pointer}
.mas-send[disabled]{opacity:.6}
.mas-guided{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.mas-guided select{padding:9px;border-radius:10px;border:1px solid var(--ds-control-line,#7F8F8C);font:inherit}
.mas-typing{opacity:.7}
@media (prefers-reduced-motion:no-preference){.mas-msg{animation:mas-rise .18s ease-out}}
