.kl-ai{max-width:720px;margin:24px auto;padding:24px;border:1px solid #dce7df;border-radius:20px;background:#fff;box-shadow:0 12px 40px rgba(33,67,48,.08);font-family:inherit;color:#26352d}.kl-ai__head{display:flex;gap:14px;align-items:center;margin-bottom:18px}.kl-ai__head h3{margin:0 0 4px;font-size:24px}.kl-ai__head p{margin:0;color:#607067}.kl-ai__badge{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#edf5ef;color:#386047;font-weight:700}.kl-ai__intro{line-height:1.55}.kl-ai__check{display:flex;gap:10px;align-items:flex-start;padding:9px 0;line-height:1.4}.kl-ai__check input{margin-top:4px}.kl-ai button{border:0;border-radius:999px;padding:13px 22px;font-size:16px;cursor:pointer}.kl-ai__start{margin-top:14px;background:#3f6b50;color:#fff}.kl-ai__start:disabled{opacity:.45;cursor:not-allowed}.kl-ai__live{text-align:center}.kl-ai__status{display:flex;justify-content:center;align-items:center;gap:8px;color:#53655b}.kl-ai__dot{width:9px;height:9px;border-radius:50%;background:#4f8a65;box-shadow:0 0 0 6px rgba(79,138,101,.12)}.kl-ai__timer{margin-left:10px;font-variant-numeric:tabular-nums}.kl-ai__orb{width:128px;height:128px;margin:30px auto;border-radius:50%;background:radial-gradient(circle at 40% 35%,#f6faf7,#d7e9dc);display:grid;place-items:center;animation:klpulse 2.4s ease-in-out infinite}.kl-ai__orb span{width:58px;height:58px;border-radius:50%;background:#5c866a;opacity:.8}.kl-ai__hint{color:#6b7a71}.kl-ai__end{background:#eef2ef;color:#425148;margin-top:18px}.kl-ai__appointments{display:grid;gap:9px;text-align:left;margin-top:18px}.kl-ai__appointments h4{margin:0 0 4px}.kl-ai__appt{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid #dce7df;border-radius:12px;text-decoration:none;color:inherit;background:#fbfdfb}.kl-ai__appt span{color:#65746b;font-size:14px}.kl-ai__error{margin-top:14px;padding:12px;border-radius:10px;background:#fff2f2;color:#8a3030}@keyframes klpulse{50%{transform:scale(1.035);box-shadow:0 0 0 16px rgba(92,134,106,.08)}}@media(max-width:600px){.kl-ai{padding:18px;border-radius:16px}.kl-ai__head h3{font-size:21px}.kl-ai__appt{flex-direction:column}}

.kl-ai__check--all{margin:8px 0 4px;padding:11px 12px;border:1px solid #dce7df;border-radius:12px;background:#f7faf8}.kl-ai__check--all input{width:17px;height:17px}.kl-ai__check--all span{color:#355543}
.kl-ai__check strong{font-weight:600}.kl-ai__check--all{order:-1}

/* v0.4.5 – rich UI, appointment cards and direct booking */
.kl-ai__appointments-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:2px}
.kl-ai__appointments-head h4{margin:0;color:#176c2b;font-size:16px;font-weight:700}
.kl-ai__more{padding:7px 12px!important;font-size:13px!important;background:#eef5f0!important;color:#355543!important;border:1px solid #d7e6dc!important}
.kl-ai__more:hover{background:#e6f0e9!important}
.kl-ai__appt-card{padding:14px;border:1px solid #dce7df;border-radius:14px;background:#fbfdfb}
.kl-ai__appt-main{display:flex;gap:13px;align-items:flex-start}
.kl-ai__therapist-photo{width:66px;height:66px;flex:0 0 66px;border-radius:14px;object-fit:cover;object-position:center 25%;background:#eef4ef}
.kl-ai__appt-copy{min-width:0;flex:1}
.kl-ai__appt-copy>strong{display:block;font-size:16px;line-height:1.3;color:#20362a}
.kl-ai__appt-meta{margin-top:4px;color:#53675b;font-size:13.5px;line-height:1.45}
.kl-ai__appt-service{margin-top:5px;color:#32493b;font-size:13.5px;line-height:1.4}
.kl-ai__appt-support{margin-top:7px;color:#65746b;font-size:12.5px;line-height:1.45}
.kl-ai__appt-support span{font-weight:600;color:#52655a}
.kl-ai__appt-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:11px}
.kl-ai__book{padding:8px 14px!important;font-size:13px!important;background:#3f6b50!important;color:#fff!important}
.kl-ai__book:hover{background:#345b43!important}
.kl-ai__profile{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 12px;border:1px solid #cfddd3;border-radius:999px;color:#355543;text-decoration:none;font-size:13px;background:#fff}
.kl-ai__profile:hover{background:#f1f6f2}
.kl-ai__booking-note{margin-top:2px;padding:11px 13px;border-radius:11px;background:#eef6f0;color:#355543;font-size:13px;line-height:1.4}
.kl-ai__info-cards{display:grid;gap:9px;margin-top:14px;text-align:left}
.kl-ai__info-card{display:flex;gap:12px;align-items:flex-start;padding:13px;border:1px solid #dce7df;border-radius:14px;background:#f8fbf9}
.kl-ai__info-card img{width:72px;height:72px;flex:0 0 72px;border-radius:13px;object-fit:cover;object-position:center 25%;background:#edf3ee}
.kl-ai__info-card>div{min-width:0;flex:1}
.kl-ai__info-card strong{display:block;color:#20362a;font-size:15px;line-height:1.3}
.kl-ai__info-card p{margin:5px 0 0;color:#5e7065;font-size:13px;line-height:1.45}
.kl-ai__info-card a{display:inline-flex;margin-top:9px;padding:7px 12px;border-radius:999px;background:#eef5f0;color:#355543;text-decoration:none;font-size:13px;font-weight:600;border:1px solid #d4e3d8}
.kl-ai__info-card a:hover{background:#e5f0e8}
@media(max-width:600px){
  .kl-ai__appointments-head{align-items:flex-start}
  .kl-ai__appt-main{gap:10px}
  .kl-ai__therapist-photo{width:58px;height:58px;flex-basis:58px;border-radius:12px}
  .kl-ai__appt-actions{align-items:stretch}
  .kl-ai__book,.kl-ai__profile{width:100%;box-sizing:border-box}
  .kl-ai__info-card img{width:60px;height:60px;flex-basis:60px}
}

/* v0.4.6 – bezpieczne renderowanie HTML w opisach */
.kl-ai__rich{margin-top:4px;color:inherit}
.kl-ai__rich p{margin:4px 0;line-height:1.45}
.kl-ai__rich p:first-child{margin-top:0}
.kl-ai__rich p:last-child{margin-bottom:0}
.kl-ai__rich ul,.kl-ai__rich ol{margin:5px 0 5px 18px;padding:0}
.kl-ai__rich li{margin:2px 0}
.kl-ai__rich strong,.kl-ai__rich b{font-weight:600;color:#52655a}

/* v0.4.7 – rezerwacja w ekranie rozmowy */
.kl-ai__booking-panel{margin-top:16px;border:1px solid #d4e2d8;border-radius:16px;background:#f9fcfa;overflow:hidden;text-align:left}
.kl-ai__booking-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid #dfe9e2;background:#f1f7f3}
.kl-ai__booking-panel-head strong{display:block;color:#20362a;font-size:15px}
.kl-ai__booking-panel-head span{display:block;margin-top:2px;color:#64746b;font-size:12.5px;line-height:1.4}
.kl-ai__booking-close{flex:0 0 auto!important;width:32px!important;height:32px!important;padding:0!important;display:grid!important;place-items:center!important;background:#e7efe9!important;color:#3d5848!important;font-size:22px!important;line-height:1!important}
.kl-ai__booking-frame{display:block;width:100%;height:620px;border:0;background:#fff}
.kl-ai__booking-fallback{display:inline-flex;margin:10px 14px 14px;padding:8px 12px;border:1px solid #cfddd3;border-radius:999px;color:#355543;text-decoration:none;font-size:13px;background:#fff}
@media(max-width:600px){.kl-ai__booking-frame{height:680px}}
