/* Calendar view switch, weekly time grid and client appointment card. */
.calendar-view-switch{display:inline-flex;gap:5px;margin:0 0 14px;padding:5px;border:1px solid rgba(255,255,255,.9);border-radius:16px;background:rgba(255,255,255,.56);box-shadow:inset 0 1px #fff,0 9px 24px rgba(77,40,58,.08)}
.calendar-view-switch a{padding:10px 16px;border-radius:11px;color:#76445a;font-size:.78rem;font-weight:800;text-decoration:none}
.calendar-view-switch a.active{background:linear-gradient(135deg,#bd5b84,#95405f);color:#fff!important;box-shadow:inset 0 1px rgba(255,255,255,.4),0 8px 18px rgba(134,57,88,.22)}
.client-schedule-trigger{display:inline!important;width:auto!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--ink)!important;font:inherit!important;font-weight:800!important;text-align:left;text-decoration:underline;text-decoration-color:rgba(184,94,127,.34);text-underline-offset:3px;transform:none!important}
.client-schedule-trigger:hover{color:var(--rose)!important;background:transparent!important;box-shadow:none!important;transform:none!important}

.week-schedule-panel{overflow:hidden;border:1px solid #fff;border-radius:22px;background:#fffafd;box-shadow:0 13px 32px rgba(78,43,61,.09)}
.week-schedule-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px;border-bottom:1px solid rgba(104,67,85,.12);background:linear-gradient(120deg,rgba(255,255,255,.9),rgba(246,225,232,.5))}
.week-schedule-head>div>span{color:var(--rose);font-size:.62rem;font-weight:900;letter-spacing:.18em}.week-schedule-head h2{margin:5px 0 4px;font:700 1.75rem Georgia,serif;color:#33252c}.week-schedule-head p{margin:0;color:var(--muted);font-size:.78rem}
.week-schedule-scroll{overflow:auto;overscroll-behavior-inline:contain}.week-timeline{min-width:1050px;background:#fff}.week-day-head{display:grid;grid-template-columns:72px repeat(7,minmax(135px,1fr));position:sticky;top:0;z-index:7;border-bottom:1px solid #dcd4d8;background:rgba(255,255,255,.98)}
.week-day-head>div{position:relative;display:flex;align-items:baseline;gap:7px;min-height:68px;padding:13px 12px;border-left:1px solid #e3dce0}.week-day-head>div.today{background:#fff0f3}.week-day-head small{color:#7e6d75;font-size:.68rem;font-weight:800}.week-day-head b{font:700 1.55rem Georgia,serif}.week-day-head em{color:#a98f9a;font-size:.62rem;font-style:normal;text-transform:uppercase}.week-day-head i{position:absolute;right:9px;top:10px;display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:99px;background:#d86b75;color:#fff;font-size:.65rem;font-style:normal;font-weight:900}.week-day-head>div:not(:has(i:not(:empty))) i{display:none}
.week-time-body{position:relative;display:grid;grid-template-columns:72px 1fr;height:840px}.week-time-rail{position:relative;border-right:1px solid #d9d1d5;background:#fff}.week-time-rail span{position:absolute;right:9px;transform:translateY(-7px);color:#6f6370;font-size:.61rem;font-weight:750}.week-day-columns{display:grid;grid-template-columns:repeat(7,minmax(135px,1fr));height:840px}.week-day-column{position:relative;border-right:1px solid #d9dfe5;background:repeating-linear-gradient(to bottom,#fff 0,#fff 59px,#dfe3e8 60px)}.week-day-column.today{background:repeating-linear-gradient(to bottom,#fff7f8 0,#fff7f8 59px,#e8dce1 60px)}
.week-appointment{position:absolute;z-index:3;min-height:42px;overflow:hidden;padding:8px 9px;border:1px solid #d0bce9;border-left:4px solid #b754de;border-radius:8px;background:#f0d3f7;color:#542269;box-shadow:0 5px 13px rgba(70,42,83,.1)}.week-appointment:nth-child(even){border-color:#bfc9f2;border-left-color:#657ce2;background:#dfe4fa;color:#29366e}.week-appointment>b,.week-appointment>span,.week-appointment>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-appointment>b{font-size:.72rem}.week-appointment>span{margin-top:3px;font-size:.58rem;font-weight:750}.week-appointment>small{margin-top:2px;font-size:.55rem}.week-appointment .week-client-name{max-width:100%;color:inherit!important;text-decoration:none!important}.week-current-time{position:absolute;z-index:5;left:72px;right:0;height:1px;background:#ef625e;pointer-events:none}.week-current-time:before{content:"";position:absolute;left:-5px;top:-4px;width:9px;height:9px;border-radius:50%;background:#ef625e}

.client-card-scrim{position:fixed!important;z-index:199;inset:0!important;width:100vw!important;height:100vh!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:rgba(46,25,37,.22)!important;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);transform:none!important}.client-card-scrim[hidden],.schedule-client-card[hidden]{display:none!important}
.schedule-client-card{position:fixed;z-index:200;right:28px;top:118px;width:min(390px,calc(100vw - 34px));overflow:hidden;border:1px solid rgba(255,255,255,.88);border-radius:20px;background:#fff;box-shadow:0 28px 70px rgba(54,27,42,.3)}
.schedule-client-card>header{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;padding:22px 18px 18px;background:linear-gradient(135deg,#c44fe6,#bd4bdc 48%,#a642ca);color:#fff}.schedule-client-avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#fff1e8;color:#c3508a;font-weight:900}.schedule-client-card>header>div:nth-of-type(2){display:grid;gap:4px}.schedule-client-card>header b{font-size:1rem}.schedule-client-card>header span{font-size:.72rem;color:rgba(255,255,255,.86)}.schedule-client-close{position:absolute!important;right:10px;top:9px;width:32px!important;height:32px!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;color:#fff!important;font-size:1.35rem!important;box-shadow:none!important}.schedule-client-card header nav{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding-top:6px}.schedule-client-card header nav a{display:grid;place-items:center;min-height:38px;border:1px solid rgba(255,255,255,.3);border-radius:11px;background:rgba(255,255,255,.13);color:#fff;font-size:1.05rem;text-decoration:none}.schedule-client-card header nav a:hover{background:rgba(255,255,255,.24)}
.schedule-client-card>section{padding:17px}.schedule-client-card dl{display:grid;gap:2px;margin:0;padding:8px 12px;border:1px solid #eee4e9;border-radius:13px;box-shadow:0 8px 20px rgba(71,41,56,.08)}.schedule-client-card dl>div{display:grid;grid-template-columns:27px 1fr;gap:8px;align-items:center;padding:8px 0}.schedule-client-card dt{color:#6b7693;font-weight:800}.schedule-client-card dd{display:grid;gap:2px;margin:0}.schedule-client-card dd b{color:#4d4755;font-size:.78rem}.schedule-client-card dd span{color:#8c828a;font-size:.64rem}.schedule-client-card footer{display:flex;justify-content:space-between;align-items:center;margin-top:13px;padding:11px 13px;border-radius:12px;background:#f5f7fb;color:#6e6670;font-size:.72rem}.schedule-client-card footer strong{color:#8c3f62;text-transform:capitalize}

@media(max-width:720px){.calendar-view-switch{display:grid;grid-template-columns:1fr 1fr;width:100%}.calendar-view-switch a{text-align:center}.week-schedule-head{align-items:flex-start;padding:18px}.week-schedule-head p{display:none}.week-schedule-head h2{font-size:1.28rem}.schedule-client-card{left:50%;right:auto;top:50%;transform:translate(-50%,-50%)}.week-timeline{min-width:980px}}
@media(max-width:430px){.schedule-client-card{width:calc(100vw - 24px)}.schedule-client-card>header{padding:20px 15px 14px}.schedule-client-card>section{padding:13px}}
