.availability-section{position:relative;padding:5rem 0;background:linear-gradient(145deg,#eef5ff 0,#f8fbff 48%,#effaf3 100%);border-block:1px solid #dfe7f2;overflow:hidden}
.availability-section:before,.availability-section:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.availability-section:before{width:330px;height:330px;right:-140px;top:-130px;background:rgba(18,61,191,.07)}
.availability-section:after{width:240px;height:240px;left:-130px;bottom:-130px;background:rgba(18,148,71,.08)}
.availability-section>.container{position:relative;z-index:1}
.availability-heading{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.25rem;margin-bottom:2rem}
.panel-mark{display:grid;place-items:center;width:66px;height:66px;border-radius:20px;background:linear-gradient(145deg,var(--blue),#315cdf);color:#fff;font-size:2rem;font-weight:300;box-shadow:0 14px 30px rgba(18,61,191,.22)}
.availability-heading h2{font-size:clamp(2.25rem,4.4vw,4rem);line-height:1;margin:.35rem 0 .5rem}
.availability-heading p{max-width:680px;margin:0;color:var(--muted)}
.panel-updated{display:flex;align-items:center;gap:.55rem;padding:.7rem .9rem;border:1px solid #dbe4f0;border-radius:999px;background:rgba(255,255,255,.82);color:#53627a;font-size:.76rem;white-space:nowrap}
.panel-updated:before{content:"";width:8px;height:8px;border-radius:50%;background:#19a653;box-shadow:0 0 0 5px rgba(25,166,83,.12)}
.availability-now{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
.availability-day{overflow:hidden;padding:0;border:1px solid rgba(188,202,221,.75);border-radius:24px;background:#fff;box-shadow:0 18px 55px rgba(18,38,77,.1)}
.availability-day>header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.35rem;border:0;background:linear-gradient(100deg,#10265e,#173f9d);color:#fff}
.availability-day:nth-child(2)>header{background:linear-gradient(100deg,#08753b,#149447)}
.availability-day>header h3{display:flex;align-items:center;gap:.7rem;margin:0;font-size:1.18rem}
.availability-day>header h3:before{content:"";width:9px;height:9px;border-radius:50%;background:#68e29a;box-shadow:0 0 0 5px rgba(104,226,154,.17)}
.availability-day>header time{padding:.35rem .6rem;border-radius:999px;background:rgba(255,255,255,.14);font-size:.72rem;color:#fff}
.availability-day>div{padding:.3rem 1.15rem}
.availability-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:1rem .15rem;border-bottom:1px solid #edf1f6}
.doctor-panel-row{grid-template-columns:54px minmax(0,1fr);align-items:start}
.panel-doctor-info{display:flex;min-width:0;flex-direction:column}
.panel-sessions{display:grid;gap:.45rem;margin-top:.7rem}
.panel-sessions>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.65rem .75rem;border:1px solid #e4eaf2;border-radius:12px;background:#f8faff}
.panel-sessions>div>span:first-child{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:.2rem .55rem}
.panel-sessions strong{color:var(--navy);font-size:.74rem}
.panel-sessions small{margin:0;color:#65728a;font-size:.7rem}
.panel-sessions em{flex-basis:100%;margin:0;color:#13723a;font-size:.68rem}
.panel-sessions .session-unavailable{border-color:#f4cccc;background:#fff7f7}
.availability-row:last-child{border:0}
.panel-avatar{width:54px;height:54px;border-radius:15px;object-fit:cover;object-position:center top;background:#eef3fa;border:1px solid #e2e8f1}
.availability-row>div{display:flex;min-width:0;flex-direction:column}
.availability-row b{font-size:.94rem;color:var(--navy)}
.availability-row small{display:block;margin-top:.14rem;color:#65728a;font-size:.75rem;line-height:1.45}
.availability-row em{margin-top:.3rem;color:#13723a;font-size:.72rem;font-style:normal}
.availability-row .department-tag{margin:.25rem 0 0;font-size:.6rem}
.availability-row.cancelled{margin:.45rem 0;padding:.8rem;border:1px solid #ffd8d8;border-radius:14px;background:#fff7f7;opacity:1}
.availability-status{display:inline-flex;align-items:center;justify-content:center;min-width:82px;padding:.38rem .65rem;border-radius:999px;font-size:.62rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.availability-status.expected{background:#fff3d4;color:#795600;border:1px solid #f2d990}
.availability-status.confirmed{background:#ddf8e7;color:#087238;border:1px solid #aee7c3}
.availability-status.changed{background:#e1ebff;color:#1649b3;border:1px solid #b7cafa}
.availability-status.unavailable{background:#ffe4e4;color:#a21e1e;border:1px solid #f3baba}
.availability-empty{padding:2rem;text-align:center;color:var(--muted)}
.week-board{margin-top:1.3rem;overflow:hidden;border:1px solid #dce5f0;border-radius:20px;background:rgba(255,255,255,.88);box-shadow:0 12px 35px rgba(18,38,77,.06)}
.week-board summary{display:flex;align-items:center;justify-content:space-between;padding:1.15rem 1.3rem;cursor:pointer;list-style:none;color:var(--navy);font-weight:800}
.week-board summary::-webkit-details-marker{display:none}.week-board[open] summary{border-bottom:1px solid #e6ebf2}
.week-board summary span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#eaf0ff;color:var(--blue)}
.week-grid{display:grid;grid-template-columns:repeat(7,minmax(170px,1fr));gap:.75rem;padding:1rem;overflow-x:auto}
.week-grid>article{min-width:0;padding:.85rem;border:1px solid #e3e9f1;border-radius:15px;background:#fff}
.week-grid article>header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.6rem;color:var(--navy)}
.week-grid article>header small{color:var(--muted)}
.week-grid article>div{display:flex;flex-direction:column;gap:.18rem;padding:.65rem 0;border-top:1px solid #edf1f5}
.week-grid article>div>b{font-size:.75rem;line-height:1.35}.week-grid article small{font-size:.66rem;color:var(--muted)}.week-grid .department-tag{font-size:.55rem;margin:.1rem 0}.week-grid .availability-status{align-self:flex-start;min-width:0;margin-top:.2rem;padding:.22rem .42rem;font-size:.52rem}
@media(max-width:820px){.availability-heading{grid-template-columns:auto 1fr}.panel-updated{grid-column:1/-1;justify-self:start}.availability-now{grid-template-columns:1fr}}
@media(max-width:560px){.availability-section{padding:3.2rem 0}.availability-heading{grid-template-columns:50px 1fr;gap:.85rem}.panel-mark{width:50px;height:50px;border-radius:15px;font-size:1.55rem}.availability-heading h2{font-size:clamp(1.9rem,9vw,2.5rem)}.availability-heading p{font-size:.82rem}.panel-updated{white-space:normal}.availability-day{border-radius:18px}.availability-day>header{padding:1rem}.availability-day>div{padding:.2rem .85rem}.availability-row,.doctor-panel-row{grid-template-columns:46px minmax(0,1fr);gap:.7rem}.panel-avatar{width:46px;height:46px;border-radius:12px}.panel-sessions>div{grid-template-columns:1fr}.panel-sessions .availability-status{grid-column:auto;justify-self:start}.availability-status{min-width:0}.week-grid{grid-template-columns:repeat(7,82vw);scroll-snap-type:x mandatory}.week-grid>article{scroll-snap-align:start}html[lang=ml] .availability-heading h2{font-size:1.85rem}html[lang=ml] .availability-day>header h3{font-size:1.02rem}}
