@font-face{font-family:'Yekan Bakh Saba';src:url('../fonts/YekanBakhFaNum-Regular.ttf') format('truetype');font-display:swap;font-weight:400}
@font-face{font-family:'Yekan Bakh Saba';src:url('../fonts/YekanBakhFaNum-Heavy.ttf') format('truetype');font-display:swap;font-weight:700 900}
:root{--saba-green:#8FBF7C;--saba-cream:#F4F0E6;--saba-black:#000;--saba-white:#fff;--saba-line:rgba(0,0,0,.13);--saba-muted:rgba(0,0,0,.58);--saba-shadow:0 28px 90px rgba(0,0,0,.12)}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{background:var(--saba-cream);scroll-behavior:smooth}
body.saba-booking-page{margin:0;background:var(--saba-cream);color:var(--saba-black);font-family:'Yekan Bakh Saba',Tahoma,sans-serif;line-height:1.8;-webkit-font-smoothing:antialiased}
.saba-booking-page button,.saba-booking-page input,.saba-booking-page select,.saba-booking-page textarea{font:inherit}
.saba-booking-page button{cursor:pointer}.saba-booking-page button:disabled{cursor:not-allowed;opacity:.42}
.saba-booking-page a{color:inherit;text-decoration:none}.saba-booking-page img{display:block;max-width:100%}
.saba-booking-page input,.saba-booking-page select,.saba-booking-page textarea{width:100%;border:1px solid var(--saba-line);border-radius:18px;background:rgba(255,255,255,.7);padding:14px 16px;color:var(--saba-black);outline:none;transition:.2s}
.saba-booking-page input:focus,.saba-booking-page select:focus,.saba-booking-page textarea:focus{border-color:var(--saba-green);box-shadow:0 0 0 4px rgba(143,191,124,.2);background:#fff}
.saba-booking-page label>span{display:block;font-size:.84rem;margin-bottom:7px}.saba-booking-page label small{opacity:.5;font-weight:400}
.saba-primary,.saba-secondary{min-height:54px;border:0;border-radius:999px;padding:0 25px;display:inline-flex;align-items:center;justify-content:center;gap:12px;transition:.25s}
.saba-primary{background:var(--saba-green);color:var(--saba-black)}.saba-primary:hover{transform:translateY(-2px);box-shadow:0 14px 35px rgba(0,0,0,.14)}
.saba-secondary{background:transparent;border:1px solid var(--saba-line);color:var(--saba-black)}
.saba-alert,.saba-panel-alert{border:1px solid rgba(0,0,0,.13);background:#fff;border-radius:18px;padding:13px 16px;margin-bottom:18px;font-size:.9rem}.saba-alert.error,.saba-panel-alert.error{border-color:#000}.saba-alert.success,.saba-panel-alert.success{background:var(--saba-green)}
.saba-booking-shell{min-height:100svh;display:grid;grid-template-columns:minmax(360px,38vw) minmax(0,1fr)}
.saba-booking-side{min-height:100svh;position:sticky;top:0;overflow:hidden;padding:clamp(30px,4vw,68px);background:var(--saba-green);display:flex;flex-direction:column}
.saba-booking-side:after{content:"";position:absolute;width:70vw;height:70vw;border:1px solid rgba(255,255,255,.34);border-radius:44%;left:-42vw;bottom:-43vw;transform:rotate(18deg)}
.saba-app-brand{position:relative;z-index:1;display:flex;align-items:center;gap:13px;width:max-content}.saba-app-brand img{width:54px;height:54px;object-fit:contain}.saba-app-brand span{display:flex;flex-direction:column;line-height:1.3}.saba-app-brand b{font-size:1.12rem}.saba-app-brand small{font-size:.72rem;opacity:.65}
.saba-side-copy{position:relative;z-index:1;margin:auto 0;max-width:570px}.saba-side-copy>span,.saba-panel-title span{font-size:.72rem;letter-spacing:.08em}.saba-side-copy h1{font-size:clamp(3.1rem,5.7vw,7rem);letter-spacing:-.06em;line-height:1.12;margin:.18em 0 .3em}.saba-side-copy p{max-width:500px;color:rgba(0,0,0,.67);font-size:1.04rem}
.saba-side-note{position:relative;z-index:1;display:flex;gap:10px;align-items:start;font-size:.82rem;max-width:450px}.saba-side-note i{width:10px;height:10px;background:var(--saba-black);border-radius:50%;margin-top:9px;flex:0 0 auto}
.saba-booking-main{padding:clamp(24px,4.2vw,72px);min-width:0}.saba-booking-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:clamp(32px,6vh,70px);font-size:.82rem}.saba-booking-top a{border-bottom:1px solid}.saba-booking-top span{opacity:.52}
.saba-timeline{list-style:none;margin:0 0 42px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);position:relative}.saba-timeline:before{content:"";position:absolute;right:7%;left:7%;top:20px;height:1px;background:var(--saba-line)}
.saba-timeline li{position:relative;z-index:1;display:grid;justify-items:center;gap:7px;color:rgba(0,0,0,.36);font-size:.73rem}.saba-timeline b{width:40px;height:40px;border-radius:50%;background:var(--saba-cream);border:1px solid var(--saba-line);display:grid;place-items:center;font-size:.8rem}.saba-timeline li.active,.saba-timeline li.done{color:#000}.saba-timeline li.active b{background:var(--saba-black);color:#fff;border-color:#000;box-shadow:0 0 0 7px rgba(143,191,124,.32)}.saba-timeline li.done b{background:var(--saba-green);border-color:var(--saba-green)}
.saba-booking-card{max-width:820px;margin:0 auto}.saba-step{display:none;animation:sabaIn .45s ease}.saba-step.active{display:block}@keyframes sabaIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.saba-step-title{display:flex;gap:20px;align-items:flex-start;margin-bottom:30px}.saba-step-title>span{font-size:.72rem;color:var(--saba-green);margin-top:12px}.saba-step-title h2{font-size:clamp(2.25rem,4vw,4.4rem);letter-spacing:-.055em;line-height:1.2;margin:0 0 6px}.saba-step-title p{margin:0;color:var(--saba-muted)}
.saba-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.saba-form-grid .full{grid-column:1/-1}.saba-check{display:flex!important;align-items:start;gap:10px;margin-top:22px;font-size:.82rem}.saba-check input{width:20px!important;height:20px;margin:4px 0 0;accent-color:var(--saba-green);flex:0 0 auto}.saba-check span{margin:0!important}
.saba-otp-box{margin-top:20px;border:1px solid var(--saba-line);border-radius:22px;padding:18px;display:flex;align-items:end;gap:14px;background:rgba(255,255,255,.38)}.saba-otp-box label{flex:1}.saba-text-button{border:0;background:none;text-decoration:underline;padding:15px 0;white-space:nowrap}.saba-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:30px}.saba-actions .saba-primary{min-width:200px}
.saba-doctor-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.saba-doctor-card{position:relative;min-height:340px;border:1px solid var(--saba-line);border-radius:28px;padding:0;overflow:hidden;background:#fff;text-align:right}.saba-doctor-card img{width:100%;height:220px;object-fit:cover}.saba-doctor-card div{padding:18px}.saba-doctor-card h3{font-size:1.45rem;margin:0 0 4px}.saba-doctor-card p{font-size:.82rem;margin:0;color:var(--saba-muted)}.saba-doctor-card small{display:block;margin-top:9px}.saba-doctor-card.selected{outline:3px solid var(--saba-green);outline-offset:3px}.saba-doctor-card.selected:after{content:"✓";position:absolute;top:14px;left:14px;width:38px;height:38px;border-radius:50%;background:var(--saba-green);display:grid;place-items:center;font-size:1.2rem}
.saba-skeleton{height:340px;border-radius:28px;background:linear-gradient(90deg,rgba(0,0,0,.04),rgba(255,255,255,.7),rgba(0,0,0,.04));background-size:200%;animation:sabaShimmer 1.2s infinite}@keyframes sabaShimmer{to{background-position:-200%}}
.saba-calendar-shell{border:1px solid var(--saba-line);border-radius:30px;background:rgba(255,255,255,.46);padding:22px}.saba-calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.saba-calendar-head h3{margin:0;font-size:1.2rem}.saba-calendar-head button{width:42px;height:42px;border-radius:50%;border:1px solid var(--saba-line);background:#fff;font-size:1.5rem}.saba-weekdays,.saba-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.saba-weekdays{margin-bottom:8px;color:var(--saba-muted);font-size:.74rem}.saba-weekdays span{text-align:center}.saba-day{aspect-ratio:1;border:0;border-radius:15px;background:transparent;display:grid;place-items:center;position:relative}.saba-day:not(:disabled):hover{background:rgba(143,191,124,.25)}.saba-day.available:after{content:"";position:absolute;bottom:7px;width:5px;height:5px;background:var(--saba-green);border-radius:50%}.saba-day.selected{background:var(--saba-black)!important;color:#fff}.saba-day.today{box-shadow:inset 0 0 0 1px var(--saba-green)}.saba-day:disabled{opacity:.22}.saba-day.empty{visibility:hidden}
.saba-slots-wrap{margin-top:25px}.saba-slots-wrap h3{font-size:1rem;margin:0 0 12px}.saba-slots-wrap h3 span{font-weight:400;color:var(--saba-muted)}.saba-slots{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.saba-slot{height:46px;border:1px solid var(--saba-line);border-radius:14px;background:#fff}.saba-slot.selected{background:var(--saba-green);border-color:var(--saba-green)}
.saba-review{margin:0;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--saba-line);border-radius:28px;overflow:hidden}.saba-review div{padding:20px;border-bottom:1px solid var(--saba-line)}.saba-review div:nth-child(odd){border-left:1px solid var(--saba-line)}.saba-review div:nth-last-child(-n+2){border-bottom:0}.saba-review dt{font-size:.72rem;color:var(--saba-muted)}.saba-review dd{margin:5px 0 0;font-weight:700}.saba-note{display:block;margin-top:20px}.saba-hold-countdown{text-align:center;margin:15px 0 0;font-size:.8rem;color:var(--saba-muted)}
.saba-success{text-align:center;padding:40px 0;animation:sabaIn .5s ease}.saba-success-mark{width:110px;height:110px;border-radius:38px;background:var(--saba-green);display:grid;place-items:center;margin:0 auto 25px}.saba-success-mark img{width:64px}.saba-success>span{font-size:.78rem;color:var(--saba-muted)}.saba-success h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1.3;letter-spacing:-.05em;margin:10px auto 25px;max-width:650px}.saba-success p{margin:0}.saba-success strong{display:block;font-size:1.65rem;letter-spacing:.08em;margin:5px 0 20px}.saba-success-detail{margin-bottom:20px}.saba-success .saba-primary{margin-top:26px}
/* Private panel */
.saba-panel{min-height:100svh;display:grid;grid-template-columns:270px minmax(0,1fr)}.saba-panel-nav{position:sticky;top:0;height:100svh;background:var(--saba-black);color:#fff;padding:28px 20px;display:flex;flex-direction:column}.saba-panel-nav .saba-app-brand{padding:0 10px 28px}.saba-panel-nav .saba-app-brand img{filter:none}.saba-panel-nav nav{display:grid;gap:7px;margin-top:35px}.saba-panel-nav nav button{border:0;background:transparent;color:rgba(255,255,255,.6);border-radius:16px;padding:13px 15px;text-align:right;display:flex;gap:12px;align-items:center}.saba-panel-nav nav button.active{background:var(--saba-green);color:#000}.saba-panel-nav nav i{font-style:normal;width:24px;text-align:center}.saba-panel-logout{margin-top:auto;padding:12px 15px;color:rgba(255,255,255,.65)!important}.saba-panel-main{padding:35px clamp(22px,4vw,70px);min-width:0}.saba-panel-main>header{display:flex;align-items:center;gap:20px;margin-bottom:55px}.saba-panel-main>header div{margin-left:auto}.saba-panel-main>header small{color:var(--saba-muted)}.saba-panel-main>header h1{font-size:1.85rem;margin:0}.saba-user-role{border:1px solid var(--saba-line);padding:8px 14px;border-radius:999px;font-size:.76rem}.saba-panel-menu{display:none;border:0;background:#000;color:#fff;border-radius:13px;width:46px;height:46px}.saba-panel-view{display:none}.saba-panel-view.active{display:block;animation:sabaIn .35s}.saba-panel-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px;gap:20px}.saba-panel-title h2{font-size:clamp(2.1rem,4vw,4rem);letter-spacing:-.055em;line-height:1.15;margin:4px 0 0}.saba-panel-title select{max-width:260px}.saba-panel-lead{color:var(--saba-muted);max-width:730px}.saba-filters{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:10px;margin-bottom:18px}.saba-appointment-list{display:grid;gap:10px}.saba-appointment-card{display:grid;grid-template-columns:1.4fr 1fr .9fr .8fr auto;gap:18px;align-items:center;background:#fff;border:1px solid var(--saba-line);border-radius:22px;padding:16px 18px}.saba-appointment-card h3{font-size:1.05rem;margin:0}.saba-appointment-card p,.saba-appointment-card small{margin:0;color:var(--saba-muted);font-size:.78rem}.saba-appointment-card b{font-size:.9rem}.saba-status{display:inline-flex;width:max-content;padding:6px 10px;border-radius:999px;background:var(--saba-cream);font-size:.72rem}.saba-status.confirmed{background:var(--saba-green)}.saba-status.cancelled,.saba-status.no_show{background:#000;color:#fff}.saba-card-edit{width:42px;height:42px;border-radius:50%;border:1px solid var(--saba-line);background:transparent}.saba-empty{border:1px dashed var(--saba-line);border-radius:24px;padding:55px;text-align:center;color:var(--saba-muted)}
.saba-panel-form{max-width:820px;background:#fff;border:1px solid var(--saba-line);border-radius:28px;padding:24px}.saba-panel-form .saba-primary{margin-top:22px}.saba-day-schedule{border:1px solid var(--saba-line);border-radius:24px;padding:18px;margin-bottom:12px;background:rgba(255,255,255,.48)}.saba-day-schedule>header{display:flex;justify-content:space-between;align-items:center}.saba-day-schedule h3{margin:0}.saba-schedule-rows{display:grid;gap:10px;margin-top:14px}.saba-schedule-row{display:grid;grid-template-columns:1fr 1fr .8fr .8fr auto;gap:9px;align-items:end}.saba-schedule-row.break-row{grid-template-columns:1fr 1fr 2fr auto;background:rgba(143,191,124,.14);padding:12px;border-radius:18px}.saba-row-remove{width:44px;height:44px;border-radius:50%;border:1px solid var(--saba-line);background:transparent}.saba-small-action{border:0;background:none;text-decoration:underline;font-size:.8rem}.saba-schedule-adds{display:flex;gap:15px;margin-top:13px}.saba-exceptions{margin:30px 0}.saba-exception-row{display:grid;grid-template-columns:1fr 1fr auto;gap:9px;margin-bottom:9px}.saba-log-list{display:grid;gap:8px}.saba-log-item{background:#fff;border:1px solid var(--saba-line);border-radius:18px;padding:13px 16px;display:grid;grid-template-columns:180px 1fr 160px;gap:15px;font-size:.78rem}.saba-log-item.error{border-right:4px solid #000}.saba-log-item pre{white-space:pre-wrap;margin:0;font:inherit;color:var(--saba-muted)}
.saba-jalali-field{position:relative;width:100%}.saba-date-trigger{width:100%;min-height:55px;border:1px solid var(--saba-line);border-radius:18px;background:rgba(255,255,255,.7);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;text-align:right;color:var(--saba-muted)}.saba-jalali-field.has-value .saba-date-trigger{color:var(--saba-black)}.saba-date-trigger i{font-style:normal;font-size:1.1rem}.saba-date-popover{display:none;position:absolute;z-index:120;top:calc(100% + 8px);right:0;width:min(340px,calc(100vw - 34px));padding:16px;border:1px solid var(--saba-line);border-radius:22px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.2)}.saba-jalali-field.open .saba-date-popover{display:block;animation:sabaIn .2s ease}.saba-date-popover header{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;text-align:center;margin-bottom:10px}.saba-date-popover header button{border:0;background:var(--saba-cream);border-radius:50%;width:36px;height:36px;font-size:1.5rem}.saba-date-week,.saba-date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.saba-date-week{font-size:.7rem;color:var(--saba-muted);text-align:center;margin-bottom:5px}.saba-date-grid button{border:0;background:transparent;border-radius:10px;aspect-ratio:1;min-width:0;padding:0}.saba-date-grid button:hover:not(:disabled){background:rgba(143,191,124,.25)}.saba-date-grid button.outside{opacity:.28}.saba-date-grid button.today{box-shadow:inset 0 0 0 1px var(--saba-green)}.saba-date-grid button.selected{background:var(--saba-black)!important;color:#fff;opacity:1}.saba-date-grid button:disabled{opacity:.12;cursor:not-allowed}.saba-date-popover footer{display:flex;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px solid var(--saba-line)}.saba-date-popover footer button{border:0;background:none;text-decoration:underline;font-size:.75rem}
.saba-bulk-scheduler{margin:26px 0 22px;padding:24px;border-radius:28px;background:var(--saba-green)}.saba-bulk-heading,.saba-section-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}.saba-bulk-heading span,.saba-section-heading span{font-size:.7rem;letter-spacing:.08em}.saba-bulk-heading h3,.saba-section-heading h3{font-size:1.55rem;margin:2px 0 0}.saba-bulk-heading .saba-secondary{background:rgba(255,255,255,.45)}.saba-bulk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.saba-weekday-picks{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin:18px 0}.saba-weekday-picks label{cursor:pointer}.saba-weekday-picks input{position:absolute;opacity:0;pointer-events:none}.saba-weekday-picks span{height:44px;border:1px solid rgba(0,0,0,.18);border-radius:14px;display:grid;place-items:center;margin:0!important;background:rgba(255,255,255,.25);font-size:.78rem}.saba-weekday-picks input:checked+span{background:var(--saba-black);color:#fff;border-color:#000}.saba-bulk-note{margin:12px 0 0;font-size:.75rem;color:rgba(0,0,0,.62)}.saba-date-schedules{margin:22px 0}.saba-section-heading b{background:#fff;border:1px solid var(--saba-line);border-radius:999px;padding:7px 13px;font-size:.78rem}.saba-date-schedule-row{display:grid;grid-template-columns:1.5fr repeat(4,1fr) auto;gap:9px;align-items:end;background:#fff;border:1px solid var(--saba-line);border-radius:20px;padding:12px;margin-bottom:8px}.saba-date-label{align-self:center;display:flex;flex-direction:column}.saba-date-label b{font-size:.88rem}.saba-date-label small{color:var(--saba-muted);font-size:.7rem}.saba-date-schedule-row label>span{font-size:.68rem;margin-bottom:3px}.saba-date-schedule-row input,.saba-date-schedule-row select{padding:10px 9px;border-radius:13px}.saba-empty-compact{padding:24px}.saba-weekly-advanced{border:1px solid var(--saba-line);border-radius:24px;background:rgba(255,255,255,.38);margin:28px 0;overflow:hidden}.saba-weekly-advanced summary{cursor:pointer;padding:18px 20px;display:flex;flex-direction:column;list-style:none}.saba-weekly-advanced summary::-webkit-details-marker{display:none}.saba-weekly-advanced summary span{font-weight:700}.saba-weekly-advanced summary small{color:var(--saba-muted)}.saba-weekly-advanced[open]{padding:0 12px 12px}.saba-weekly-advanced[open] summary{margin:0 -12px 12px;border-bottom:1px solid var(--saba-line)}.saba-save-schedule{min-width:220px}
.saba-modal{position:fixed;z-index:9999;inset:0;background:rgba(0,0,0,.56);padding:24px;display:grid;place-items:center}.saba-modal-card{background:var(--saba-cream);width:min(680px,100%);max-height:90svh;overflow:auto;border-radius:30px;padding:28px;position:relative}.saba-modal-close{position:absolute;top:14px;left:14px;width:42px;height:42px;border:0;border-radius:50%;background:#000;color:#fff;font-size:1.5rem}.saba-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.saba-edit-grid .full{grid-column:1/-1}
/* Login */
.saba-login-shell{min-height:100svh;display:grid;grid-template-columns:1.1fr .9fr}.saba-login-visual{background:var(--saba-green);display:grid;place-content:center;justify-items:center;gap:25px}.saba-login-visual img{width:min(240px,40vw)}.saba-login-visual p{font-size:1.2rem}.saba-login-card{display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,8vw,120px)}.saba-login-card>span{font-size:.75rem;color:var(--saba-muted)}.saba-login-card h1{font-size:clamp(3rem,6vw,6rem);letter-spacing:-.07em;line-height:1.1;margin:.12em 0}.saba-login-card>p{color:var(--saba-muted);margin-bottom:28px}.saba-login-card form{display:grid;gap:15px}.saba-login-card .saba-check{margin:0}.saba-login-back{text-decoration:underline;margin-top:22px;font-size:.82rem}.saba-panel-message{min-height:100svh;display:grid;place-content:center;text-align:center;padding:30px}
@media(max-width:1050px){.saba-booking-shell{grid-template-columns:1fr}.saba-booking-side{position:relative;min-height:auto;padding:26px 30px;background:var(--saba-cream);border-bottom:1px solid var(--saba-line)}.saba-side-copy,.saba-side-note{display:none}.saba-booking-main{padding-top:28px}.saba-panel{grid-template-columns:220px minmax(0,1fr)}.saba-appointment-card{grid-template-columns:1.2fr 1fr .8fr auto}.saba-appointment-card .saba-appointment-service{display:none}.saba-filters{grid-template-columns:1fr 1fr}.saba-slots{grid-template-columns:repeat(4,1fr)}.saba-bulk-grid{grid-template-columns:1fr 1fr}.saba-date-schedule-row{grid-template-columns:1.4fr 1fr 1fr auto}.saba-date-schedule-row label:nth-of-type(n+3){grid-row:2}.saba-date-schedule-row .saba-row-remove{grid-column:4;grid-row:1/3}}
@media(max-width:760px){body.saba-booking-page{font-size:16px}.saba-booking-side{padding:18px 20px}.saba-app-brand img{width:44px;height:44px}.saba-booking-main{padding:18px 16px 40px}.saba-booking-top{margin-bottom:28px}.saba-timeline{margin-bottom:30px}.saba-timeline:before{top:17px}.saba-timeline b{width:34px;height:34px}.saba-timeline li span{display:none}.saba-timeline li.active span{display:block;position:absolute;top:40px;white-space:nowrap;font-size:.68rem}.saba-step-title{gap:10px;margin-bottom:22px}.saba-step-title>span{display:none}.saba-step-title h2{font-size:2.35rem;white-space:nowrap}.saba-step-title p{font-size:.85rem}.saba-form-grid{grid-template-columns:1fr;gap:13px}.saba-form-grid .full{grid-column:auto}.saba-otp-box{display:grid}.saba-actions{display:grid;grid-template-columns:1fr 1.4fr}.saba-actions .saba-primary{min-width:0}.saba-step[data-step="1"] .saba-actions{grid-template-columns:1fr}.saba-doctor-list{grid-template-columns:1fr}.saba-doctor-card{min-height:0;display:grid;grid-template-columns:120px 1fr}.saba-doctor-card img{height:150px}.saba-doctor-card div{padding:16px}.saba-calendar-shell{padding:14px;border-radius:24px}.saba-day{border-radius:12px}.saba-slots{grid-template-columns:repeat(3,1fr)}.saba-review{grid-template-columns:1fr}.saba-review div,.saba-review div:nth-child(odd){border-left:0;border-bottom:1px solid var(--saba-line)!important}.saba-review div:last-child{border-bottom:0!important}.saba-success{padding-top:20px}.saba-panel{display:block}.saba-panel-nav{position:fixed;z-index:50;right:0;top:0;bottom:0;width:270px;transform:translateX(110%);transition:.3s}.saba-panel.nav-open .saba-panel-nav{transform:none}.saba-panel-main{padding:20px 14px}.saba-panel-main>header{margin-bottom:35px}.saba-panel-menu{display:block}.saba-panel-title{align-items:start;flex-direction:column}.saba-panel-title h2{font-size:2.6rem}.saba-panel-title select{max-width:none}.saba-filters{display:grid;grid-template-columns:1fr}.saba-appointment-card{grid-template-columns:1fr auto;gap:8px 14px;padding:15px}.saba-appointment-card>div{grid-column:1}.saba-appointment-card .saba-card-edit{grid-column:2;grid-row:1/4}.saba-appointment-card .saba-appointment-service{display:block}.saba-panel-form{padding:16px}.saba-schedule-row,.saba-schedule-row.break-row{grid-template-columns:1fr 1fr}.saba-schedule-row label:nth-child(n+3){grid-column:auto}.saba-row-remove{grid-column:2;justify-self:end}.saba-exception-row{grid-template-columns:1fr}.saba-log-item{grid-template-columns:1fr}.saba-edit-grid{grid-template-columns:1fr}.saba-edit-grid .full{grid-column:auto}.saba-login-shell{grid-template-columns:1fr}.saba-login-visual{min-height:250px}.saba-login-visual img{width:120px}.saba-login-card{padding:34px 22px}.saba-login-card h1{font-size:3.3rem}.saba-modal{padding:10px}.saba-modal-card{padding:22px 16px;border-radius:24px}.saba-bulk-scheduler{padding:18px 14px;margin-inline:-2px}.saba-bulk-heading{align-items:flex-start}.saba-bulk-heading .saba-secondary{min-height:42px;padding:0 13px;font-size:.75rem}.saba-bulk-grid{grid-template-columns:1fr 1fr;gap:9px}.saba-bulk-grid>label:nth-child(-n+2){grid-column:1/-1}.saba-weekday-picks{grid-template-columns:repeat(4,1fr)}.saba-date-schedule-row{grid-template-columns:1fr 1fr;gap:8px;padding:13px}.saba-date-label{grid-column:1/-1}.saba-date-schedule-row label:nth-of-type(n){grid-row:auto}.saba-date-schedule-row .saba-row-remove{grid-column:2;grid-row:auto;justify-self:end}.saba-save-schedule{width:100%}.saba-date-popover{position:fixed;top:50%;right:50%;transform:translate(50%,-50%);width:min(360px,calc(100vw - 24px));box-shadow:0 0 0 100vmax rgba(0,0,0,.55),0 24px 70px rgba(0,0,0,.25)}}
@media(max-width:380px){.saba-step-title h2{font-size:2.05rem}.saba-doctor-card{grid-template-columns:105px 1fr}.saba-slots{grid-template-columns:repeat(2,1fr)}}
.saba-organization-entry{margin-top:20px;border:1px solid var(--saba-line);border-radius:24px;padding:18px;background:rgba(143,191,124,.12);display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}.saba-organization-entry p{margin:3px 0 0;color:var(--saba-muted);font-size:.78rem}.saba-org-choice{display:flex;gap:7px}.saba-org-choice label{cursor:pointer}.saba-org-choice input{position:absolute;opacity:0}.saba-org-choice span{min-width:64px;height:40px;border:1px solid var(--saba-line);border-radius:999px;display:grid;place-items:center;margin:0!important;background:#fff}.saba-org-choice input:checked+span{background:var(--saba-black);color:#fff}.saba-org-code{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.saba-org-code .saba-secondary{height:54px}.saba-org-code p{grid-column:1/-1}.saba-org-code p.verified{color:#27651d}.saba-org-code p.invalid{color:#7a1e1e}
.saba-org-badge{display:inline-flex;margin-top:7px;padding:3px 8px;border-radius:999px;background:rgba(143,191,124,.3);font-size:.68rem}.saba-internal-note{margin-top:6px!important;color:#000!important;line-height:1.5}.saba-live-layout{display:grid;grid-template-columns:minmax(420px,1.15fr) minmax(300px,.85fr);gap:18px}.saba-live-calendar,.saba-live-day{background:#fff;border:1px solid var(--saba-line);border-radius:28px;padding:22px}.saba-live-calendar>header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;text-align:center;margin-bottom:18px}.saba-live-calendar>header h3{margin:0}.saba-live-calendar>header button{width:42px;height:42px;border:1px solid var(--saba-line);border-radius:50%;background:var(--saba-cream);font-size:1.5rem}.saba-live-week,.saba-live-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.saba-live-week{text-align:center;font-size:.7rem;color:var(--saba-muted);margin-bottom:7px}.saba-live-grid button{position:relative;aspect-ratio:1;border:1px solid transparent;border-radius:16px;background:var(--saba-cream)}.saba-live-grid button.open{background:rgba(143,191,124,.28)}.saba-live-grid button.closed{opacity:.35;background:#ddd}.saba-live-grid button.busy{border-color:var(--saba-black)}.saba-live-grid button.selected{background:var(--saba-black);color:#fff}.saba-live-grid button small{position:absolute;left:5px;bottom:4px;min-width:18px;height:18px;border-radius:50%;background:var(--saba-green);color:#000;display:grid;place-items:center;font-size:.58rem}.saba-live-empty{visibility:hidden}.saba-live-legend{display:flex;flex-wrap:wrap;gap:15px;margin-top:16px;font-size:.7rem;color:var(--saba-muted)}.saba-live-legend span{display:flex;align-items:center;gap:5px}.saba-live-legend i{width:10px;height:10px;border-radius:50%;background:#ddd}.saba-live-legend i.open{background:var(--saba-green)}.saba-live-legend i.busy{background:#000}.saba-live-day header{border-bottom:1px solid var(--saba-line);padding-bottom:14px}.saba-live-day header span{font-size:.75rem;color:var(--saba-muted)}.saba-live-day header h3{margin:3px 0}.saba-live-day header p{margin:0}.saba-day-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.saba-day-controls>div{grid-column:1/-1;display:flex;gap:8px}.saba-day-controls button{flex:1}.saba-live-appointments{display:grid;gap:8px}.saba-live-appointments>button{border:1px solid var(--saba-line);border-radius:16px;background:var(--saba-cream);padding:11px;text-align:right;display:grid;grid-template-columns:1fr auto;gap:3px 8px}.saba-live-appointments small,.saba-live-appointments em{grid-column:1/-1;font-size:.7rem;color:var(--saba-muted);font-style:normal}.saba-readonly-appointment,.saba-org-edit{border:1px solid var(--saba-line);border-radius:18px;padding:15px;background:#fff}.saba-readonly-appointment{display:flex;justify-content:space-between}.saba-org-edit{display:grid;grid-template-columns:1fr 1fr;gap:10px}.saba-org-edit>b{grid-column:1/-1}.saba-org-dashboard{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.saba-org-dashboard article{background:#fff;border:1px solid var(--saba-line);border-radius:20px;padding:17px;display:flex;justify-content:space-between;align-items:center}.saba-org-dashboard article span{font-size:.72rem;color:var(--saba-muted)}.saba-org-dashboard article b{font-size:1.35rem}.saba-org-filters{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:15px}.saba-organization-list{display:grid;gap:8px}.saba-organization-appointment{display:grid;grid-template-columns:1fr .8fr .9fr .8fr;gap:12px;padding:15px 17px;border:1px solid var(--saba-line);border-radius:20px;background:#fff;cursor:pointer}.saba-organization-appointment div{display:flex;flex-direction:column}.saba-organization-appointment small{color:var(--saba-muted)}
@media(max-width:1050px){.saba-live-layout{grid-template-columns:1fr}.saba-org-dashboard{grid-template-columns:1fr 1fr}.saba-org-filters{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.saba-organization-entry{grid-template-columns:1fr}.saba-org-choice{justify-content:flex-start}.saba-org-code{grid-template-columns:1fr}.saba-org-code .saba-secondary,.saba-org-code p{grid-column:auto}.saba-live-calendar,.saba-live-day{padding:14px}.saba-live-grid{gap:4px}.saba-live-grid button{border-radius:11px}.saba-day-controls{grid-template-columns:1fr 1fr}.saba-day-controls label:last-of-type{grid-column:1/-1}.saba-org-dashboard,.saba-org-filters{grid-template-columns:1fr}.saba-organization-appointment{grid-template-columns:1fr 1fr}.saba-org-edit{grid-template-columns:1fr}.saba-org-edit>b{grid-column:auto}.saba-readonly-appointment{display:grid;gap:5px}}
