:root{--nc-sched-green:#143c35;--nc-sched-green-2:#1f5449;--nc-sched-gold:#c69b56;--nc-sched-ivory:#fbf8f1;--nc-sched-ink:#17332e;--nc-sched-muted:#6b7975;--nc-sched-line:rgba(20,60,53,.14);--nc-sched-card:#fff;--nc-sched-shadow:0 18px 48px rgba(18,55,49,.10)}
.nc-live-booking-page{background:linear-gradient(180deg,#f9f6ef 0,#fff 28%,#f8f6f0 100%);min-height:80vh;color:var(--nc-sched-ink)}
.nc-live-booking-hero{padding:72px 0 48px;background:radial-gradient(circle at 85% 20%,rgba(198,155,86,.18),transparent 28%),linear-gradient(135deg,#0f312c,#1f554a);color:#fff;overflow:hidden;position:relative}
.nc-live-booking-hero:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(198,155,86,.25);border-radius:50%;right:-130px;top:-220px;box-shadow:0 0 0 45px rgba(198,155,86,.035),0 0 0 90px rgba(198,155,86,.025)}
.nc-live-booking-hero__inner{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;position:relative;z-index:1}.nc-live-booking-hero h1{font-family:"Playfair Display",serif;font-size:clamp(2.4rem,4vw,4.8rem);line-height:1.02;max-width:850px;margin:12px 0 18px;color:#fff}.nc-live-booking-hero p{max-width:780px;font-size:1.06rem;line-height:1.75;color:rgba(255,255,255,.82);margin:0}.nc-live-kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:#e2c58f}.nc-live-booking-hero__status{min-width:210px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);backdrop-filter:blur(16px);border-radius:20px;padding:18px 20px;display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center}.nc-live-booking-hero__status small{grid-column:2;color:rgba(255,255,255,.64);margin-top:2px}.nc-live-dot{width:8px;height:8px;border-radius:50%;background:#d8ad68;box-shadow:0 0 0 5px rgba(216,173,104,.14);display:inline-block;flex:0 0 auto}
.nc-live-booking-shell{padding:0 0 90px}.nc-live-steps{margin:-24px auto 34px;position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,1fr);list-style:none;padding:0;background:#fff;border:1px solid var(--nc-sched-line);border-radius:24px;box-shadow:var(--nc-sched-shadow);overflow:hidden}.nc-live-steps li{padding:18px;display:flex;align-items:center;gap:10px;color:#84908d;border-right:1px solid var(--nc-sched-line);font-size:.9rem}.nc-live-steps li:last-child{border-right:0}.nc-live-steps span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1px solid #d5dcda;font-size:.75rem;font-weight:800}.nc-live-steps li.is-active{color:var(--nc-sched-green);background:#fbfaf6}.nc-live-steps li.is-active span,.nc-live-steps li.is-complete span{background:var(--nc-sched-green);color:#fff;border-color:var(--nc-sched-green)}.nc-live-steps li.is-complete{color:#3d5f58}
.nc-live-panel{background:#fff;border:1px solid var(--nc-sched-line);border-radius:28px;padding:34px;box-shadow:var(--nc-sched-shadow);animation:ncScheduleIn .34s ease both}.nc-live-panel[hidden]{display:none!important}@keyframes ncScheduleIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.nc-live-panel__header{display:flex;gap:18px;align-items:flex-start;margin-bottom:28px}.nc-live-panel__header h2{font-family:"Playfair Display",serif;font-size:clamp(1.8rem,3vw,2.7rem);margin:0 0 7px;color:var(--nc-sched-ink)}.nc-live-panel__header p{margin:0;color:var(--nc-sched-muted);line-height:1.6}.nc-live-panel__number{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#f5efe3;color:#9d7337;font-weight:800;font-size:.8rem}.nc-live-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.nc-live-service-card,.nc-live-doctor-card,.nc-earliest-doctor{appearance:none;border:1px solid var(--nc-sched-line);background:#fff;border-radius:20px;padding:18px;display:flex;align-items:center;gap:15px;text-align:left;color:var(--nc-sched-ink);cursor:pointer;transition:.24s ease;box-shadow:0 8px 24px rgba(18,55,49,.04)}.nc-live-service-card:hover,.nc-live-doctor-card:hover,.nc-earliest-doctor:hover{transform:translateY(-3px);border-color:rgba(198,155,86,.55);box-shadow:0 14px 30px rgba(18,55,49,.10)}.nc-live-service-card>span:nth-child(2),.nc-live-doctor-card__body{display:grid;gap:4px;flex:1}.nc-live-service-card small,.nc-live-doctor-card small{color:var(--nc-sched-muted)}.nc-live-service-card__icon{width:42px;height:42px;border-radius:13px;background:#eef4f1;display:grid;place-items:center;color:var(--nc-sched-green);font-size:1.25rem}.nc-live-doctor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.nc-live-doctor-card__photo{width:72px;height:72px;border-radius:18px;overflow:hidden;background:#eef3f1;display:grid;place-items:center;font-weight:800;color:var(--nc-sched-green)}.nc-live-doctor-card__photo img{width:100%;height:100%;object-fit:cover}.nc-live-doctor-card em{font-style:normal;color:#9a7134;font-size:.82rem}.nc-earliest-doctor{width:100%;margin-bottom:18px;background:linear-gradient(135deg,#f7f2e8,#fff)}.nc-earliest-doctor>span:nth-child(2){display:grid;gap:3px;flex:1}.nc-earliest-doctor small{color:var(--nc-sched-muted)}
.nc-live-time-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:24px}.nc-public-calendar,.nc-public-slots{border:1px solid var(--nc-sched-line);border-radius:22px;background:#fff;overflow:hidden}.nc-public-calendar__toolbar{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--nc-sched-line);background:#fbfaf6}.nc-public-calendar__toolbar h3{margin:0;text-transform:capitalize}.nc-public-calendar__toolbar button,.nc-calendar-nav button,.nc-calendar-views button{border:1px solid var(--nc-sched-line);background:#fff;border-radius:10px;min-height:36px;padding:0 12px;cursor:pointer;color:var(--nc-sched-ink)}.nc-public-calendar__weekdays,.nc-public-calendar__grid{display:grid;grid-template-columns:repeat(7,1fr)}.nc-public-calendar__weekdays span{padding:12px;text-align:center;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#87928f}.nc-public-calendar__grid{padding:8px 12px 16px;gap:5px}.nc-public-calendar__grid .is-empty{min-height:46px}.nc-public-calendar__day{border:0;background:transparent;min-height:46px;border-radius:12px;cursor:pointer;color:var(--nc-sched-ink);font-weight:600}.nc-public-calendar__day:hover:not(:disabled){background:#f2f6f4}.nc-public-calendar__day.is-selected{background:var(--nc-sched-green);color:#fff}.nc-public-calendar__day:disabled{color:#c1c8c6;cursor:not-allowed}.nc-public-slots{padding:20px}.nc-public-slots__heading{display:flex;align-items:center;gap:12px;margin-bottom:18px}.nc-public-slots__heading div{display:grid;gap:3px}.nc-public-slots__heading small{color:var(--nc-sched-muted)}.nc-public-slots__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.nc-slot{border:1px solid var(--nc-sched-line);background:#fbfaf7;border-radius:12px;padding:11px;cursor:pointer;font-weight:700;color:var(--nc-sched-green)}.nc-slot:hover,.nc-slot.is-selected{background:var(--nc-sched-green);color:#fff;border-color:var(--nc-sched-green)}
.nc-live-panel__actions{margin-top:24px;display:flex;justify-content:space-between}.nc-live-back{border:0;background:transparent;color:var(--nc-sched-green);font-weight:700;cursor:pointer}.nc-live-primary{border:0;border-radius:14px;padding:14px 20px;background:linear-gradient(135deg,#18483e,#0f322c);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 10px 24px rgba(20,60,53,.18)}.nc-live-primary:disabled{opacity:.55;cursor:wait}.nc-live-primary--link{display:inline-flex;text-decoration:none}.nc-booking-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 24px}.nc-booking-summary>div{padding:15px;border:1px solid var(--nc-sched-line);border-radius:14px;background:#fbfaf7;display:grid;gap:5px}.nc-booking-summary span{font-size:.72rem;text-transform:uppercase;color:#84908d}.nc-live-auth{max-width:820px}.nc-auth-switch{display:inline-flex;border:1px solid var(--nc-sched-line);border-radius:12px;padding:4px;margin-bottom:18px}.nc-auth-switch button{border:0;background:transparent;padding:9px 14px;border-radius:9px;cursor:pointer}.nc-auth-switch button.is-active{background:var(--nc-sched-green);color:#fff}.nc-live-auth-form,.nc-live-auth__logged{display:grid;gap:14px}.nc-live-auth-form label,.nc-live-auth__logged label,.nc-admin-form label,.nc-inline-schedule-form label,.nc-weekday-row label{display:grid;gap:6px;font-size:.82rem;font-weight:700;color:#50625e}.nc-live-auth-form input,.nc-live-auth-form textarea,.nc-live-auth__logged input,.nc-live-auth__logged textarea,.nc-admin-form input,.nc-admin-form select,.nc-admin-form textarea,.nc-inline-schedule-form input,.nc-inline-schedule-form select,.nc-weekday-row input,.nc-duration-field select{min-height:44px;border:1px solid #dce2df;border-radius:11px;padding:9px 11px;background:#fff;color:var(--nc-sched-ink)}.nc-live-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.nc-live-full{display:grid;gap:7px}.nc-live-auth__identity{display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;background:#f7f4ec}.nc-live-auth__identity div{display:grid}.nc-live-auth__identity small{color:var(--nc-sched-muted)}.nc-live-auth__avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--nc-sched-green);color:#fff;font-weight:800}.nc-live-success{text-align:center;padding:56px 34px}.nc-live-success__icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:#e9f6ef;color:#20804e;font-size:1.7rem;font-weight:800}.nc-live-success h2{font-family:"Playfair Display",serif;font-size:2.5rem;margin:10px 0}.nc-live-success p{color:var(--nc-sched-muted);max-width:680px;margin:0 auto 24px}.nc-live-success .nc-booking-summary{text-align:left}.nc-live-loading,.nc-live-empty,.nc-live-error{padding:28px;border:1px dashed #d9dfdc;border-radius:16px;color:var(--nc-sched-muted);grid-column:1/-1}.nc-live-error{border-color:#e2b9b6;color:#9f2d25;background:#fff6f5}
/* Shared calendar */
.nc-schedule-calendar{background:#fff;border:1px solid var(--nc-sched-line);border-radius:22px;overflow:hidden;box-shadow:0 10px 30px rgba(20,60,53,.05);margin-bottom:24px}.nc-calendar-toolbar{padding:16px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--nc-sched-line);gap:12px}.nc-calendar-toolbar h3{margin:0;text-align:center;text-transform:capitalize}.nc-calendar-nav{display:flex;gap:6px}.nc-calendar-views{justify-self:end;display:flex;gap:5px}.nc-calendar-views button.is-active{background:var(--nc-sched-green);color:#fff}.nc-calendar-grid{min-height:320px}.nc-cal-month-head{display:grid;grid-template-columns:repeat(7,1fr);background:#f8f8f5;border-bottom:1px solid var(--nc-sched-line)}.nc-cal-month-head span{text-align:center;padding:10px;font-size:.72rem;text-transform:uppercase;color:#798682}.nc-cal-month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.nc-cal-cell{min-height:128px;padding:8px;border-right:1px solid #edf0ef;border-bottom:1px solid #edf0ef;overflow:hidden}.nc-cal-cell:nth-child(7n){border-right:0}.nc-cal-cell.is-empty{background:#fafafa}.nc-cal-cell__date{font-weight:800;font-size:.82rem;margin-bottom:6px}.nc-cal-cell__events{display:grid;gap:4px}.nc-cal-event{border:0;border-left:3px solid var(--nc-sched-gold);border-radius:6px;background:#f5f8f7;padding:5px 6px;text-align:left;display:grid;gap:1px;cursor:pointer;font-size:.68rem;color:#27443e;overflow:hidden}.nc-cal-event>span{font-size:.62rem;color:#70807c}.nc-cal-event>strong,.nc-cal-event>small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nc-cal-event.nc-status--confirmed{border-left-color:#20804e;background:#edf8f2}.nc-cal-event.nc-status--cancelled{border-left-color:#b33831;background:#fff1f0;opacity:.7}.nc-cal-event.nc-status--reschedule_requested{border-left-color:#b57b22;background:#fff8e8}.nc-cal-more{font-size:.68rem;color:#77827f}.nc-cal-week{display:grid;grid-template-columns:repeat(7,1fr);min-height:400px}.nc-cal-week__day{border-right:1px solid #edf0ef}.nc-cal-week__day:last-child{border-right:0}.nc-cal-week__day header{padding:12px;text-align:center;background:#f8f8f5;border-bottom:1px solid #edf0ef;display:grid}.nc-cal-week__day>div{padding:8px;display:grid;gap:5px}.nc-cal-none{text-align:center;color:#a6aeac}.nc-cal-day{display:grid}.nc-cal-hour{min-height:62px;display:grid;grid-template-columns:70px 1fr;border-bottom:1px solid #edf0ef}.nc-cal-hour>span{padding:10px;color:#87918f;font-size:.75rem}.nc-cal-hour>div{padding:7px;border-left:1px solid #edf0ef;display:grid;gap:5px}.nc-calendar-agenda{border-top:1px solid var(--nc-sched-line);padding:18px}.nc-calendar-agenda h4{margin:0 0 12px}.nc-agenda-list{display:grid;gap:7px}.nc-agenda-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid #edf0ef;border-radius:12px}.nc-agenda-list article>div{display:grid}.nc-agenda-list small{color:var(--nc-sched-muted)}.nc-agenda-list time,.nc-agenda-list .nc-mono{font-size:.75rem;color:#66736f}.nc-calendar-loading,.nc-calendar-agenda__empty{padding:30px;color:var(--nc-sched-muted)}
/* Availability */
.nc-availability-editor{display:grid;gap:18px}.nc-schedule-panel{background:#fff;border:1px solid var(--nc-sched-line);border-radius:18px;padding:20px}.nc-schedule-panel h3{margin:0 0 16px}.nc-duration-field{display:flex!important;align-items:center;gap:12px;margin-bottom:14px}.nc-weekly-grid{display:grid;gap:8px;margin-bottom:18px}.nc-weekday-row{display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:9px;align-items:end;padding:10px;border:1px solid #edf0ef;border-radius:12px}.nc-day-toggle{display:flex!important;align-items:center;gap:8px;padding-bottom:10px}.nc-inline-schedule-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:end}.nc-inline-schedule-form button{min-height:42px}.nc-timeoff-list{display:grid;gap:7px;margin-top:14px}.nc-timeoff-list>div{display:flex;justify-content:space-between;gap:15px;padding:10px 12px;background:#f8f8f5;border-radius:10px}.nc-timeoff-list form{margin:0}.nc-status--pending,.nc-status--requested{background:#fff5d8!important;color:#7d5c00!important}.nc-status--confirmed{background:#e8f6ee!important;color:#17653a!important}.nc-status--completed{background:#eaf2ff!important;color:#245a9a!important}.nc-status--cancelled{background:#fbe9e7!important;color:#9e332d!important}.nc-status--reschedule_requested{background:#fff0db!important;color:#8d5b11!important}.nc-status--no_show{background:#ececef!important;color:#565865!important}
/* Admin */
.nc-admin-schedule{max-width:1500px}.nc-admin-schedule .nc-schedule-calendar{margin-top:18px}.nc-admin-toolbar{display:flex;gap:12px;align-items:end;margin:18px 0}.nc-admin-toolbar label,.nc-admin-select label{display:grid;gap:5px;font-weight:600}.nc-admin-toolbar select,.nc-admin-select select{min-width:220px}.nc-admin-form{background:#fff;border:1px solid #dcdcde;border-radius:14px;padding:18px;margin-top:16px}.nc-admin-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.nc-admin-status{font-weight:700}.nc-admin-status.is-active{color:#1f7a48}.nc-admin-status.is-inactive{color:#a13831}.nc-admin-appointments{margin-top:18px;overflow:auto}.nc-admin-appointments form{display:flex;gap:5px;align-items:center;min-width:420px}
/* Portal appointment actions */
.nc-appointment-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.nc-appointment-actions form{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.nc-appointment-actions input[type=datetime-local]{min-height:38px;border:1px solid #dce2df;border-radius:9px;padding:5px 8px}.nc-notification-badge{display:inline-grid;min-width:20px;height:20px;place-items:center;border-radius:999px;background:#b57b22;color:#fff;font-size:.68rem;padding:0 5px;margin-left:auto}
body.is-rtl .nc-live-service-card,body.is-rtl .nc-live-doctor-card,body.is-rtl .nc-cal-event{text-align:right}
@media(max-width:1100px){.nc-live-card-grid{grid-template-columns:repeat(2,1fr)}.nc-live-time-layout{grid-template-columns:1fr}.nc-admin-form-grid{grid-template-columns:repeat(2,1fr)}.nc-inline-schedule-form{grid-template-columns:repeat(2,1fr)}.nc-weekday-row{grid-template-columns:1fr 1fr 1fr}.nc-day-toggle{grid-column:1/-1}.nc-cal-cell{min-height:105px}}
@media(max-width:820px){.nc-live-booking-hero{padding:48px 0 40px}.nc-live-booking-hero__inner{display:block}.nc-live-booking-hero__status{margin-top:24px;max-width:280px}.nc-live-steps{display:flex;overflow:auto;border-radius:18px;margin-top:-18px}.nc-live-steps li{min-width:max-content;padding:13px 15px}.nc-live-panel{padding:22px;border-radius:20px}.nc-live-card-grid,.nc-live-doctor-grid,.nc-booking-summary,.nc-live-form-grid{grid-template-columns:1fr}.nc-calendar-toolbar{grid-template-columns:1fr auto}.nc-calendar-toolbar h3{grid-column:1/-1;grid-row:1;text-align:left}.nc-calendar-nav{grid-row:2}.nc-calendar-views{grid-row:2}.nc-cal-month-grid,.nc-cal-month-head{min-width:720px}.nc-calendar-grid{overflow-x:auto}.nc-cal-week{min-width:720px}.nc-agenda-list article{grid-template-columns:auto 1fr}.nc-agenda-list time,.nc-agenda-list .nc-mono{grid-column:2}.nc-admin-form-grid,.nc-inline-schedule-form{grid-template-columns:1fr}.nc-weekday-row{grid-template-columns:1fr 1fr}.nc-weekday-row label:first-child{grid-column:1/-1}}
@media(max-width:540px){.nc-live-panel__header{gap:10px}.nc-live-panel__number{width:34px;height:34px}.nc-live-card-grid{grid-template-columns:1fr}.nc-public-calendar__weekdays span{font-size:.62rem;padding:8px 2px}.nc-public-calendar__grid{padding:6px}.nc-public-calendar__day{min-height:42px}.nc-public-slots__grid{grid-template-columns:repeat(2,1fr)}.nc-live-panel__actions{margin-top:18px}.nc-calendar-nav button,.nc-calendar-views button{padding:0 9px}.nc-inline-schedule-form{display:grid}.nc-timeoff-list>div{display:grid}.nc-weekday-row{grid-template-columns:1fr}.nc-weekday-row label{grid-column:1/-1}}

/* v1.8.0 final scheduling polish */
.nc-status-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}
.nc-status-badge.nc-status-pending{background:#fff5d8;color:#7d5c00}.nc-status-badge.nc-status-confirmed{background:#e8f6ee;color:#17653a}.nc-status-badge.nc-status-completed{background:#eaf2ff;color:#245a9a}.nc-status-badge.nc-status-cancelled{background:#fbe9e7;color:#9e332d}.nc-status-badge.nc-status-reschedule_requested{background:#fff0db;color:#8d5b11}.nc-status-badge.nc-status-no_show{background:#ececef;color:#565865}
.nc-admin-row-update{display:grid!important;grid-template-columns:minmax(135px,.8fr) minmax(175px,1fr) minmax(180px,1.2fr) auto;gap:6px!important;min-width:620px!important}.nc-admin-row-update select,.nc-admin-row-update input{min-height:34px}
.nc-admin-notification-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;margin-left:4px;border-radius:999px;background:#b57b22;color:#fff;font-size:10px}
.nc-admin-notifications{margin-top:20px;max-width:1050px}.nc-admin-notification-list{display:grid;gap:8px}.nc-admin-notification-item{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start;padding:14px 16px;border:1px solid #dcdcde;border-radius:12px;background:#fff}.nc-admin-notification-item.is-unread{border-left:4px solid #c69b56;background:#fffdf8}.nc-admin-notification-item p{margin:5px 0 0;color:#646970}.nc-admin-notification-item time{font-size:12px;color:#777;white-space:nowrap}
.nc-admin-appointment-filters{padding:14px;border:1px solid #dcdcde;border-radius:12px;background:#fff;flex-wrap:wrap}.nc-admin-appointment-filters input[type=date]{min-height:40px}
@media(max-width:782px){.nc-admin-row-update{grid-template-columns:1fr!important;min-width:260px!important}.nc-admin-notification-item{grid-template-columns:1fr}.nc-admin-notification-item time{white-space:normal}.nc-admin-toolbar{align-items:stretch;flex-direction:column}.nc-admin-toolbar select{width:100%;min-width:0}}
@media(max-width:540px){.nc-cal-month-grid,.nc-cal-month-head{min-width:0}.nc-cal-cell{min-height:76px;padding:4px}.nc-cal-month-head span{padding:7px 1px;font-size:.58rem}.nc-cal-cell__date{font-size:.72rem}.nc-cal-event{padding:3px;font-size:.6rem;border-left-width:2px}.nc-cal-event>span,.nc-cal-event>small{display:none}.nc-calendar-agenda{padding:12px}}

/* v1.8.2 booking authentication UX */
.nc-live-notice{margin:-10px 0 22px;padding:14px 16px;border-radius:14px;border:1px solid var(--nc-sched-line);background:#f7faf8;color:#27443e;font-weight:650;box-shadow:0 8px 24px rgba(18,55,49,.05)}
.nc-live-notice.is-success{border-color:rgba(32,128,78,.25);background:#edf8f2;color:#17653a}.nc-live-notice.is-error{border-color:#e7bfbc;background:#fff4f3;color:#9f2d25}
.nc-auth-verified{margin-left:auto;display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#e8f6ee;color:#17653a;font-size:.72rem;font-weight:800;white-space:nowrap}
.nc-final-confirm-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:6px}.nc-final-confirm-row p{margin:0;color:var(--nc-sched-muted);font-size:.86rem;line-height:1.5;max-width:520px}
body.nc-modal-open{overflow:hidden}
.nc-booking-auth-modal[hidden]{display:none!important}.nc-booking-auth-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:24px}.nc-booking-auth-modal__backdrop{position:absolute;inset:0;background:rgba(8,28,24,.72);backdrop-filter:blur(9px);animation:ncAuthFade .2s ease both}.nc-booking-auth-dialog{position:relative;z-index:1;width:min(760px,100%);max-height:min(88vh,920px);overflow:auto;border:1px solid rgba(198,155,86,.28);border-radius:26px;background:linear-gradient(180deg,#fff 0%,#fdfbf6 100%);box-shadow:0 34px 90px rgba(4,24,20,.35);padding:30px;animation:ncAuthDialog .28s cubic-bezier(.2,.8,.2,1) both;outline:none}
@keyframes ncAuthFade{from{opacity:0}to{opacity:1}}@keyframes ncAuthDialog{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}
.nc-booking-auth-dialog__close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;border:1px solid var(--nc-sched-line);background:#fff;color:var(--nc-sched-green);font-size:1.4rem;line-height:1;display:grid;place-items:center;cursor:pointer;transition:.2s ease}.nc-booking-auth-dialog__close:hover,.nc-booking-auth-dialog__close:focus-visible{background:#f6f1e6;border-color:rgba(198,155,86,.55);transform:rotate(4deg)}
.nc-booking-auth-dialog__intro{padding-right:46px}.nc-booking-auth-dialog__intro h2{font-family:"Playfair Display",serif;color:var(--nc-sched-ink);font-size:clamp(1.75rem,3vw,2.55rem);line-height:1.12;margin:10px 0 10px}.nc-booking-auth-dialog__intro p{margin:0;color:var(--nc-sched-muted);line-height:1.65;max-width:650px}
.nc-booking-auth-dialog__selection{margin:22px 0 18px;padding:16px;border:1px solid rgba(198,155,86,.2);border-radius:18px;background:#fbf8f1}.nc-booking-auth-dialog__selection>strong{display:block;margin-bottom:10px;color:#72562d;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em}.nc-booking-summary--modal{margin:0;grid-template-columns:repeat(2,minmax(0,1fr))}.nc-booking-summary--modal>div{background:#fff;padding:11px 12px}.nc-booking-summary--modal span{font-size:.66rem}.nc-booking-summary--modal strong{font-size:.86rem}
.nc-auth-switch--modal{display:flex;width:100%;margin:0 0 18px;padding:5px;background:#f2f5f3}.nc-auth-switch--modal button{flex:1;min-height:42px;font-weight:750}.nc-auth-inline-message{margin:0 0 15px;padding:12px 14px;border-radius:12px;font-size:.88rem;font-weight:650}.nc-auth-inline-message.is-error{background:#fff1f0;border:1px solid #ebc2be;color:#9f2d25}.nc-auth-inline-message.is-success{background:#edf8f2;border:1px solid #bfe0cd;color:#17653a}
.nc-auth-form-actions{display:flex;align-items:center;justify-content:space-between;gap:14px}.nc-auth-form-actions>a{color:#46615b;font-size:.84rem;font-weight:700;text-decoration:none}.nc-auth-form-actions>a:hover{text-decoration:underline}.nc-live-primary--wide{width:100%;justify-content:center}.nc-booking-consent--modal{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:9px!important;font-weight:500!important;line-height:1.5!important}.nc-booking-consent--modal input{margin-top:3px;min-height:0!important}.nc-auth-resume-note{display:flex;align-items:flex-start;gap:8px;margin:18px 0 0;padding-top:16px;border-top:1px solid var(--nc-sched-line);color:#59706a;font-size:.82rem;line-height:1.5}.nc-auth-resume-note span{display:grid;place-items:center;flex:0 0 auto;width:20px;height:20px;border-radius:50%;background:#e8f6ee;color:#17653a;font-size:.7rem;font-weight:900}
body.is-rtl .nc-booking-auth-dialog__close{right:auto;left:16px}body.is-rtl .nc-booking-auth-dialog__intro{padding-right:0;padding-left:46px}body.is-rtl .nc-auth-verified{margin-left:0;margin-right:auto}
@media(max-width:700px){.nc-booking-auth-modal{padding:0;align-items:end}.nc-booking-auth-dialog{width:100%;max-height:92vh;border-radius:24px 24px 0 0;padding:24px 18px 22px}.nc-booking-auth-dialog__intro{padding-right:42px}.nc-booking-summary--modal{grid-template-columns:1fr 1fr}.nc-auth-form-actions{align-items:stretch;flex-direction:column-reverse}.nc-auth-form-actions .nc-live-primary{width:100%}.nc-final-confirm-row{align-items:stretch;flex-direction:column}.nc-final-confirm-row .nc-live-primary{width:100%}.nc-auth-verified{margin-left:0}.nc-live-auth__identity{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:430px){.nc-booking-summary--modal{grid-template-columns:1fr}.nc-booking-auth-dialog{padding:22px 14px 18px}.nc-booking-auth-dialog__selection{padding:12px}.nc-booking-auth-dialog__intro h2{font-size:1.72rem}.nc-auth-switch--modal button{padding:9px 8px}.nc-live-notice{margin-top:0}}

/* v1.8.3 clearer booking authentication + secure confirmation recovery */
.nc-live-notice.is-info{border-color:rgba(34,93,82,.22);background:#eef6f3;color:#23584e}
.nc-booking-auth-dialog{width:min(640px,100%);padding:32px}
.nc-booking-auth-dialog__selection{margin:20px 0 20px}
.nc-auth-view[hidden]{display:none!important}
.nc-auth-view{animation:ncAuthView .18s ease both}
@keyframes ncAuthView{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.nc-auth-change-mode{margin-top:18px;padding:15px 16px;border:1px solid var(--nc-sched-line);border-radius:14px;background:#f7faf8;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;color:#5d6f6b;font-size:.88rem}
.nc-auth-change-mode button{appearance:none;border:0;background:transparent;padding:0;color:var(--nc-sched-green);font:inherit;font-weight:850;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.nc-auth-change-mode button:hover,.nc-auth-change-mode button:focus-visible{color:#9a7134}
.nc-auth-view .nc-live-primary--wide{min-height:48px;font-size:.95rem}
.nc-auth-view .nc-live-auth-form>label>span,.nc-auth-view .nc-live-form-grid label>span{font-size:.8rem;color:#3f5751}
.nc-auth-view .nc-live-auth-form input{min-height:48px;font-size:16px}
.nc-auth-view .nc-live-auth-form input:focus{outline:3px solid rgba(198,155,86,.16);border-color:#c69b56}
.nc-auth-view .nc-auth-form-actions{display:grid;grid-template-columns:1fr;gap:10px}
.nc-auth-view .nc-auth-form-actions>a{justify-self:start;order:2}
.nc-auth-view .nc-auth-form-actions .nc-live-primary{order:1;width:100%}
.nc-booking-auth-dialog__intro p{max-width:560px}
.nc-booking-summary--modal{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.nc-booking-summary--modal>div{padding:10px}
.nc-booking-summary--modal strong{font-size:.8rem;line-height:1.35}
.nc-booking-summary--modal span{font-size:.61rem}
body.is-rtl .nc-auth-change-mode{text-align:right}
@media(max-width:700px){
  .nc-booking-auth-dialog{padding:24px 18px 22px}
  .nc-booking-summary--modal{grid-template-columns:1fr 1fr}
  .nc-auth-change-mode{justify-content:flex-start}
}
@media(max-width:430px){
  .nc-booking-summary--modal{grid-template-columns:1fr 1fr}
  .nc-booking-auth-dialog__selection{margin:16px 0}
  .nc-auth-change-mode{padding:13px 14px}
}


/* v1.8.5 public booking responsive polish */
.nc-live-booking-page,.nc-live-booking-shell,.nc-live-panel{overflow-wrap:anywhere}
.nc-public-calendar__toolbar button,.nc-calendar-nav button,.nc-calendar-views button,.nc-slot,.nc-live-primary,.nc-live-back{touch-action:manipulation}
@media(max-width:980px){
	.nc-live-booking-hero{padding:58px 0 42px}
	.nc-live-booking-hero__inner{align-items:flex-start;flex-direction:column;gap:20px}
	.nc-live-booking-hero__status{min-width:0;width:min(100%,430px);box-sizing:border-box}
	.nc-live-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.nc-live-time-layout{grid-template-columns:1fr}
	.nc-public-slots__grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:760px){
	.nc-live-booking-shell{padding-bottom:58px}
	.nc-live-steps{display:flex;overflow-x:auto;overflow-y:hidden;margin:-19px 0 22px;border-radius:17px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
	.nc-live-steps::-webkit-scrollbar{display:none}
	.nc-live-steps li{flex:0 0 auto;min-width:145px;padding:13px 14px;scroll-snap-align:start;font-size:.8rem}
	.nc-live-steps span{width:25px;height:25px}
	.nc-live-panel{padding:22px 18px;border-radius:20px}
	.nc-live-panel__header{gap:12px;margin-bottom:20px}
	.nc-live-panel__number{width:36px;height:36px;border-radius:11px;flex:0 0 auto}
	.nc-live-card-grid,.nc-live-doctor-grid{grid-template-columns:1fr}
	.nc-live-service-card,.nc-live-doctor-card,.nc-earliest-doctor{padding:15px;border-radius:16px}
	.nc-live-panel__actions{gap:10px;align-items:stretch}
	.nc-live-panel__actions .nc-live-primary{min-width:45%}
	.nc-booking-summary{grid-template-columns:1fr 1fr}
	.nc-public-calendar__toolbar{padding:14px}
	.nc-public-calendar__toolbar h3{font-size:1rem}
	.nc-public-calendar__weekdays span{padding:9px 2px;font-size:.62rem}
	.nc-public-calendar__grid{padding:7px 7px 12px;gap:3px}
	.nc-public-calendar__day,.nc-public-calendar__grid .is-empty{min-height:42px}
	.nc-public-slots{padding:16px}
	.nc-public-slots__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
	.nc-slot{min-height:44px;padding:10px 6px}
	.nc-live-form-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
	.nc-live-booking-hero{padding:44px 0 34px}
	.nc-live-booking-hero h1{font-size:clamp(2rem,11vw,3rem)}
	.nc-live-booking-hero p{font-size:.92rem;line-height:1.6}
	.nc-live-booking-hero__status{padding:14px 15px;border-radius:15px}
	.nc-live-panel{padding:18px 14px}
	.nc-live-panel__header h2{font-size:1.65rem}
	.nc-live-panel__header p{font-size:.88rem}
	.nc-live-service-card__icon{width:38px;height:38px;flex:0 0 auto}
	.nc-live-doctor-card__photo{width:58px;height:58px;border-radius:14px;flex:0 0 auto}
	.nc-live-panel__actions{display:grid;grid-template-columns:1fr}
	.nc-live-panel__actions .nc-live-primary,.nc-live-panel__actions .nc-live-back{width:100%;min-height:46px}
	.nc-live-panel__actions .nc-live-back{border:1px solid var(--nc-sched-line);border-radius:12px;background:#fff}
	.nc-booking-summary{grid-template-columns:1fr}
	.nc-public-calendar__toolbar{gap:7px}
	.nc-public-calendar__toolbar button{padding:0 9px}
	.nc-public-slots__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.nc-live-success{padding:38px 14px}
	.nc-live-success h2{font-size:2rem}
}
