/* ===== Мессенджер кабинета: личка с Лерой, поддержка, канал «Новости от Леры» ===== */
.msbtn{position:relative;flex:none;margin-left:auto;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
 background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 rgba(255,255,255,.22)}
.msbtn[hidden]{display:none}
.msbtn svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.msbtn:active{transform:scale(.94)}
.msbadge{position:absolute;right:-5px;top:-5px;min-width:20px;height:20px;padding:0 6px;border-radius:10px;display:grid;place-items:center;font:700 11.5px/1 'Inter Tight',system-ui,sans-serif;font-style:normal;
 color:#fff;background:linear-gradient(135deg,#ff6f9c,#e0457a);box-shadow:0 0 0 2px #2a1550,0 4px 10px -2px rgba(224,69,122,.6);animation:msPop .35s cubic-bezier(.2,1.6,.4,1)}
.msbadge[hidden]{display:none}
@keyframes msPop{from{transform:scale(.4)}to{transform:scale(1)}}

.msgr{position:fixed;inset:0;z-index:62;display:flex;justify-content:center;background:#eef1f6;color:#1d2533;font:400 15px/1.4 'Inter Tight',system-ui,sans-serif;font-style:normal}
.msgr[hidden]{display:none}
.msgr *{box-sizing:border-box}
.msgr i,.msgr em,.msgr b{font-style:normal}
.msgr button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;padding:0}
.msin{position:relative;width:100%;max-width:460px;height:100%;overflow:hidden}
.msv{position:absolute;inset:0;display:flex;flex-direction:column;background:#eef1f6;transition:transform .34s cubic-bezier(.2,.8,.2,1)}
.msv.chat{transform:translateX(100%)}
.msin.inchat .msv.chat{box-shadow:-20px 0 40px -20px rgba(29,37,51,.25)}
.msin.inchat .msv.chat{transform:none}
.msin.inchat .msv.list{transform:translateX(-28%)}

/* шапки */
.mshd{flex:none;display:flex;align-items:center;gap:10px;padding:calc(10px + env(safe-area-inset-top)) 12px 10px;background:rgba(246,247,251,.86);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid rgba(29,37,51,.06);position:relative;z-index:3}
.msbk{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:none}
.msbk svg{width:22px;height:22px;fill:none;stroke:#6a48d8;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.msbk:active{background:rgba(106,72,216,.08)}
.mstt{flex:1;min-width:0;font-weight:800;font-size:22px;letter-spacing:-.03em}
.mshi{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}
.mshi b{font-weight:700;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:5px}
.mshi small{font-size:12.5px;color:#7b8698;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msvf{width:15px;height:15px;flex:none}

/* аватары */
.msav{position:relative;flex:none;width:54px;height:54px;border-radius:50%;overflow:hidden;background:#1a1238;display:grid;place-items:center}
.msav img{width:100%;height:100%;object-fit:cover;display:block}
.msav.sm{width:40px;height:40px}
.msav.sup{background:linear-gradient(140deg,#c9b8ff,#7a5ce8)}
.msav.sup svg{width:46%;height:46%;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.msav.news{background:#fff;box-shadow:inset 0 0 0 1px rgba(106,72,216,.12)}

/* список диалогов */
.msrows{flex:1;overflow-y:auto;padding:8px 10px calc(20px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
.mshero{margin:6px 6px 14px;padding:16px 18px;border-radius:22px;color:#fff;position:relative;overflow:hidden;
 background:radial-gradient(70% 90% at 0% 0%,rgba(255,130,205,.55),transparent 60%),radial-gradient(80% 90% at 100% 0%,rgba(110,140,255,.45),transparent 65%),linear-gradient(140deg,#3a1f86,#1a1238)}
.mshero b{display:block;font-weight:800;font-size:19px;letter-spacing:-.02em;line-height:1.15}
.mshero span{display:block;margin-top:6px;font-size:13.5px;line-height:1.4;color:rgba(255,255,255,.75)}
.msrow{display:flex;align-items:center;gap:12px;width:100%;padding:10px 10px;border-radius:18px;text-align:left;transition:background .15s}
.msrow:active,.msrow:hover{background:rgba(255,255,255,.75)}
.msmid{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.mstop{display:flex;align-items:center;gap:8px}
.mstop b{flex:1;min-width:0;font-weight:700;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:5px}
.mstop time{flex:none;font-size:12.5px;color:#8e98a8;display:flex;align-items:center;gap:3px}
.mstop time svg{width:17px;height:17px;fill:none;stroke:#6a48d8;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.msbot{display:flex;align-items:center;gap:8px}
.msprev{flex:1;min-width:0;font-size:14px;color:#7b8698;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.msprev em{font-style:normal;color:#1d2533}
.mscnt{flex:none;min-width:22px;height:22px;padding:0 7px;border-radius:11px;display:grid;place-items:center;font-size:12.5px;font-weight:700;color:#fff;background:linear-gradient(135deg,#a98cff,#6a48d8)}
.mscnt[hidden]{display:none}
.msdiv{height:1px;margin:0 10px 0 76px;background:rgba(29,37,51,.06)}
.msfoot{margin:18px 16px 0;font-size:12.5px;line-height:1.45;color:#8e98a8;text-align:center}

/* лента переписки */
.msscroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:6px 10px 10px;position:relative;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
 background:radial-gradient(60% 40% at 0% 0%,rgba(201,184,255,.35),transparent 70%),radial-gradient(60% 40% at 100% 100%,rgba(169,140,255,.22),transparent 70%),radial-gradient(50% 30% at 100% 30%,rgba(255,190,225,.18),transparent 70%),#eef1f6}
.msfeed{display:flex;flex-direction:column;min-height:100%;justify-content:flex-end}
.msday{position:sticky;top:6px;z-index:2;align-self:center;margin:12px 0 8px;padding:5px 12px;border-radius:999px;font-size:12.5px;font-weight:600;color:#5d6678;background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px -4px rgba(29,37,51,.18)}
.mb{position:relative;max-width:min(82%,340px);margin-top:2px;padding:7px 11px 7px 12px;border-radius:18px;font-size:15.5px;line-height:1.38;word-wrap:break-word;overflow-wrap:anywhere;white-space:pre-wrap;animation:mbIn .22s ease-out}
@keyframes mbIn{from{opacity:0;transform:translateY(6px) scale(.98)}}
.mb.in{align-self:flex-start;background:#fff;color:#1d2533;box-shadow:0 1px 1.5px rgba(29,37,51,.1)}
.mb.out{align-self:flex-end;color:#fff;background:linear-gradient(135deg,#a98cff,#6a48d8);box-shadow:0 2px 6px -2px rgba(106,72,216,.45)}
.mb.gs{margin-top:10px}
.mb.in.tl{border-bottom-left-radius:5px}.mb.out.tl{border-bottom-right-radius:5px}
.mb .tail{position:absolute;bottom:0;width:11px;height:17px;display:none}
.mb.tl .tail{display:block}
.mb.in .tail{left:-6px;fill:#fff}
.mb.out .tail{right:-6px;fill:#6a48d8}
.mb a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.mb.in a{color:#6a48d8}
.mbsp{display:inline-block;width:46px;height:1px}
.mb.out .mbsp{width:62px}
.mbm{position:absolute;right:10px;bottom:5px;display:flex;align-items:center;gap:3px;font-size:11.5px;line-height:1;white-space:nowrap}
.mb.in .mbm{color:#98a1b0}
.mb.out .mbm{color:rgba(255,255,255,.78)}
.mbm svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.mb.out.read .mbm{color:#fff}
.mb.fail{background:linear-gradient(135deg,#f3a0b6,#d9577f)}
.mb.fail .tail{fill:#d9577f}
.mbfail{align-self:flex-end;margin:4px 4px 0;font-size:12px;color:#d9577f;font-weight:600}
.msmore{display:block;margin:8px auto;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:600;color:#6a48d8;background:rgba(255,255,255,.7)}
.msmore[hidden]{display:none}
.msdown{position:absolute;right:14px;bottom:86px;z-index:4;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:0 6px 18px -6px rgba(29,37,51,.35);transition:opacity .2s,transform .2s}
.msdown.off{opacity:0;transform:translateY(10px) scale(.9);pointer-events:none}
.msdown svg{width:20px;height:20px;fill:none;stroke:#6a48d8;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.msdown i{position:absolute;top:-6px;right:-4px;min-width:20px;height:20px;padding:0 6px;border-radius:10px;font:700 11.5px/20px 'Inter Tight',system-ui,sans-serif;font-style:normal;text-align:center;color:#fff;background:linear-gradient(135deg,#a98cff,#6a48d8)}
.msdown i:empty{display:none}

/* пустое состояние */
.msempty{margin:auto 6px;padding:26px 20px 20px;border-radius:26px;text-align:center;background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 18px 40px -26px rgba(60,40,140,.45)}
.msempty .msav{width:84px;height:84px;margin:0 auto 12px;box-shadow:0 0 0 4px #fff,0 0 0 5px rgba(169,140,255,.35),0 14px 30px -12px rgba(106,72,216,.6)}
.msempty b{display:block;font-weight:800;font-size:20px;letter-spacing:-.02em}
.msempty p{margin:8px auto 0;max-width:290px;font-size:14px;line-height:1.45;color:#5d6678}
.msqs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}
.msqs button{padding:9px 14px;border-radius:999px;font-size:13.5px;font-weight:600;color:#6a48d8!important;background:rgba(169,140,255,.14)!important;box-shadow:inset 0 0 0 1px rgba(106,72,216,.16)}
.msqs button:active{background:rgba(169,140,255,.26)!important}

/* поле ввода */
.mscomp{flex:none;display:flex;align-items:flex-end;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(246,247,251,.92);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid rgba(29,37,51,.06)}
.mscomp[hidden]{display:none}
.msta{flex:1;min-width:0;display:flex;flex-direction:column;border-radius:22px;background:#fff;box-shadow:inset 0 0 0 1px rgba(29,37,51,.08);transition:box-shadow .15s}
.msta:focus-within{box-shadow:inset 0 0 0 1.5px rgba(106,72,216,.45)}
.msta textarea{display:block;width:100%;min-height:44px;max-height:150px;padding:11px 16px;border:0;outline:0;resize:none;background:none;font:400 16px/22px 'Inter Tight',system-ui,sans-serif;color:#1d2533}
.msta textarea::placeholder{color:#a3abb8}
.mslen{padding:0 16px 6px;font-size:11.5px;color:#a3abb8;text-align:right}
.mslen.over{color:#d9577f;font-weight:600}
.mslen[hidden]{display:none}
.mssend{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#a98cff,#6a48d8)!important;box-shadow:0 8px 18px -8px rgba(106,72,216,.8);transition:transform .2s,opacity .2s}
.mssend svg{width:21px;height:21px;fill:#fff;margin-left:2px}
.mssend:disabled{opacity:.35;box-shadow:none;transform:scale(.92)}
.msro{flex:none;padding:12px 16px calc(12px + env(safe-area-inset-bottom));text-align:center;font-size:13px;color:#7b8698;background:rgba(246,247,251,.92);border-top:1px solid rgba(29,37,51,.06)}
.msro[hidden]{display:none}

/* канал */
.mpost{align-self:stretch;margin:6px 4px 4px;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(29,37,51,.08),0 12px 26px -20px rgba(60,40,140,.35);animation:mbIn .22s ease-out}
.mpost img{display:block;width:100%;max-height:320px;object-fit:cover;background:#f3f1fb}
.mpost .mpt{padding:12px 15px 4px;font-size:15.5px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.mpost .mpt a{color:#6a48d8}
.mpost .mpm{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:2px 14px 10px;font-size:11.5px;color:#98a1b0}
.mpost .mpb{display:flex;align-items:center;justify-content:center;gap:6px;margin:6px 12px 4px;height:44px;border-radius:14px;font-weight:700;font-size:14.5px;color:#fff;text-decoration:none;background:linear-gradient(135deg,#a98cff,#6a48d8);box-shadow:0 8px 18px -10px rgba(106,72,216,.8)}
.mpost .mpb svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* всплывающее уведомление о новом сообщении */
.msban{position:fixed;left:50%;top:calc(10px + env(safe-area-inset-top));z-index:80;width:calc(100% - 20px);max-width:430px;display:flex;align-items:center;gap:12px;padding:10px 14px 10px 10px;border-radius:20px;text-align:left;cursor:pointer;
 background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#1d2533;font:400 14px/1.35 'Inter Tight',system-ui,sans-serif;box-shadow:0 18px 40px -16px rgba(40,24,110,.45),0 0 0 1px rgba(106,72,216,.08);
 transform:translate(-50%,calc(-100% - 40px - env(safe-area-inset-top)));visibility:hidden;transition:transform .45s cubic-bezier(.2,1.2,.3,1),visibility 0s .45s}
.msban.on{transform:translate(-50%,0);visibility:visible;transition:transform .45s cubic-bezier(.2,1.2,.3,1),visibility 0s}
.msban .msav{width:42px;height:42px}
.msban .msbt{flex:1;min-width:0;display:flex;flex-direction:column}
.msban b{font-weight:700;font-size:14.5px;font-style:normal}
.msban em{font-style:normal;color:#5d6678;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}

@media (min-width:900px){
 .msgr{left:calc(50% - 220px)!important;right:auto!important;width:440px!important;top:28px!important;bottom:0!important;border-radius:36px 36px 0 0;overflow:hidden}
 .msban{top:40px}
}
@media (hover:hover){.mssend:not(:disabled):hover{filter:brightness(1.08)}.mpost .mpb:hover{filter:brightness(1.08)}}
@media (prefers-reduced-motion:reduce){.msv,.mb,.mpost,.msban{transition:none;animation:none}}
/* кнопка сообщений заметнее: фиолетовый градиент, мягкое свечение и подпись */
.msbtn{width:46px!important;height:46px!important;padding:0;border-radius:50%!important;display:grid!important;place-items:center;background:rgba(255,255,255,.1)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.msbtn[hidden]{display:none!important}
.msbtn svg{width:20px!important;height:20px!important;stroke:rgba(255,255,255,.85)!important}

/* строка «Записаться на сеанс» */
.msav.bkav2{background:linear-gradient(140deg,#b9a2ff,#6a48d8)}
.msav.bkav2 svg{width:48%;height:48%;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.msbook{margin-bottom:6px;background:#fff;box-shadow:0 8px 24px -16px rgba(106,72,216,.55)}
.msbka{flex:none;font-size:24px;line-height:1;color:#b7a6ee;margin-right:2px}

/* «Практика дня» */
.msav.dayav{overflow:visible}
.msav.dayav img{border-radius:50%}
.msav.dayav i{position:absolute;right:-3px;bottom:-3px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;color:#fff;background:linear-gradient(135deg,#ffb36b,#ff7aa8);box-shadow:0 0 0 2px #eef1f6}
.msav.sm.dayav i{width:18px;height:18px;font-size:10px}
.mday2 .mdt{padding:14px 16px 0;display:flex;flex-direction:column;gap:3px}
.mday2 .mdt i{align-self:flex-start;padding:3px 9px;border-radius:9px;font-style:normal;font-size:11.5px;font-weight:700;color:#6a48d8;background:#efe9ff}
.mday2 .mdt b{font-size:16.5px;font-weight:800;letter-spacing:-.01em;line-height:1.25}
.mday2 .mdi{margin:2px 12px 4px;display:flex;flex-direction:column;gap:6px}
.mday2 .mdi>div{display:flex;gap:10px;padding:10px 12px;border-radius:14px;background:#f6f4fd}
.mday2 .mdi span{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;color:#fff;background:linear-gradient(135deg,#a98cff,#6a48d8)}
.mday2 .mdi p{margin:0;font-size:13.5px;line-height:1.4;color:#3b4456}
.mday2 .mdi b{display:block;font-size:12px;font-weight:700;color:#8a93a6;margin-bottom:1px}
.mday2 button.mpb{width:calc(100% - 24px)}
