:root{--layout-blue:#4e79a7;--layout-blue-dark:#365f8b;--layout-blue-soft:#edf4ff;--appointment-availability-bg:#e7f8f5;--appointment-availability-color:#087f70;--appointment-availability-accent:#35c8b1}
body.panel-page{font-family:"Lato",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 84% 5%,#edf3ff 0,transparent 30%),#f4f7fb}
.calendar-v2-page{width:100%;color:#17233e}.calendar-v2-page .ui-icon{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.calendar-dashboard-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:17px}.dashboard-eyebrow{display:block;margin-bottom:7px;color:#3574c3;font-size:10px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase}.dashboard-title-row{display:flex;align-items:flex-end;gap:12px}.dashboard-title-row h1{margin:0;color:var(--layout-blue);font-size:25px;font-weight:700;line-height:1}.dashboard-title-row time{color:#59657c;font-size:11px}.dashboard-intro-actions{display:flex;align-items:center;gap:8px}.dashboard-add-button,.dashboard-preview-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 15px;border-radius:11px;font-size:12px;font-weight:700;text-decoration:none}.dashboard-add-button{border:0;background:var(--layout-blue-dark);color:#fff;box-shadow:0 9px 19px rgba(54,95,139,.24)}.dashboard-preview-button{border:1px solid #cfd9e8;background:rgba(255,255,255,.92);color:var(--layout-blue);box-shadow:0 7px 17px rgba(54,95,139,.08)}.dashboard-add-button:hover{background:#2f557e}.dashboard-preview-button:hover{border-color:#aebfd6;background:#fff;color:#2f5f91;text-decoration:none}.dashboard-add-button .ui-icon,.dashboard-preview-button .ui-icon{width:17px;height:17px}
.calendar-dashboard-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(220px,1.15fr);gap:13px;margin-bottom:16px}.calendar-dashboard-stats article{min-height:90px;display:flex;align-items:center;gap:13px;padding:16px 18px;border:1px solid #dce3ed;border-radius:15px;background:rgba(255,255,255,.96);box-shadow:0 7px 20px rgba(44,67,105,.04)}.calendar-dashboard-stats small{display:block;margin-bottom:3px;color:#8490a7;font-size:10px}.calendar-dashboard-stats strong{display:block;color:#17233e;font-size:21px;line-height:1}.dashboard-stat-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px}.dashboard-stat-icon .ui-icon{width:19px;height:19px}.dashboard-stat-icon.blue{background:#edf4ff;color:#3877d8}.dashboard-stat-icon.mint{background:#e7f8f5;color:#1aaf98}.dashboard-stat-icon.violet{background:#f0ecff;color:#7659e7}.calendar-dashboard-stats .dashboard-load{align-items:stretch;flex-direction:column;justify-content:center;gap:9px;border-color:#243f70;background:linear-gradient(135deg,#2b4a80,#243f70)}.dashboard-load small,.dashboard-load strong{color:#fff}.dashboard-load small{opacity:.7}.dashboard-progress{height:5px;overflow:hidden;border-radius:8px;background:rgba(255,255,255,.17)}.dashboard-progress i{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#7faaff,#4ed6c5)}.dashboard-load-foot{color:rgba(255,255,255,.7);font-size:8px}
.calendar-workspace-v3{display:grid;grid-template-columns:minmax(0,1fr) 325px;align-items:stretch;overflow:hidden;border:1px solid #dce3ed;border-radius:15px;background:#fff;box-shadow:0 13px 34px rgba(45,67,105,.07)}.calendar-main-v3{min-width:0;display:flex;flex-direction:column}.calendar-controls-row{display:none;order:2;align-items:center;gap:12px;padding:11px 17px;border-bottom:1px solid #dce3ed;background:linear-gradient(90deg,#f7faff,#fbfcfe)}.calendar-controls-row.is-open{display:flex}.calendar-filter-title{display:flex;align-items:center;gap:7px;padding-right:12px;border-right:1px solid #dce3ed;color:#4e79a7;font-size:10px;font-weight:700;white-space:nowrap}.calendar-filter-title .ui-icon{width:15px;height:15px}.calendar-filter-form{flex:1 1 auto;display:grid;grid-template-columns:repeat(2,minmax(160px,230px)) minmax(132px,1fr);align-items:center;gap:12px}.calendar-filter-form label{display:flex;align-items:center;gap:7px;color:#758198;font-size:10px;font-weight:700}.calendar-filter-form select{width:auto;min-width:145px;height:30px;min-height:30px;padding:4px 26px 4px 8px;border:1px solid #d8e1ee;border-radius:8px;background:#fbfcfe;color:#263650;font-size:10px;line-height:20px}.calendar-filter-form label.is-filter-active select{border-color:#91adde;box-shadow:0 0 0 1px #91adde}.calendar-filter-actions{width:100%;display:flex;align-items:center;gap:7px}.calendar-filter-apply{width:80px;min-width:80px;height:30px;min-height:30px;flex:0 0 80px;padding:5px 8px;border:1px solid #dce3ed;border-radius:8px;background:#fff;color:#596780;font-size:10px;font-weight:700}.calendar-filter-clear{width:30px;min-width:30px;height:30px;display:grid;place-items:center;border:1px solid #dce3ed;border-radius:8px;background:#fff;color:#596780}.calendar-filter-clear .ui-icon{width:15px;height:15px}
.calendar-head{order:1;min-height:74px;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid #dce3ed}.calendar-navigation{grid-column:1;grid-row:1;justify-self:start;display:flex;align-items:center;gap:8px}.calendar-navigation h2{width:180px;margin:0;color:var(--layout-blue);text-align:center;font-size:17px;font-weight:700;letter-spacing:-.25px;white-space:nowrap}.calendar-navigation .button-link{width:34px;height:34px;min-height:34px;display:grid;place-items:center;padding:0;border:1px solid #dce3ed;border-radius:9px;background:#fff;color:#60718d}.calendar-navigation .ui-icon{width:16px;height:16px}.calendar-today-link{grid-column:2;grid-row:1;height:35px;min-height:35px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:7px 11px;border:1px solid #dce3ed;border-radius:9px;background:#fff;color:#596780;font-size:11px;font-weight:700;text-decoration:none}.calendar-today-link .ui-icon{width:16px;height:16px}.calendar-view-switch{grid-column:3;grid-row:1;display:flex;justify-self:end;gap:0;padding:3px;border-radius:10px;background:#f3f6fb}.calendar-view-switch .button-link{height:30px;min-height:30px;padding:7px 10px;border:0;border-radius:7px;background:transparent;color:#7c879e;font-size:10px;font-weight:700;text-decoration:none}.calendar-view-switch .active{background:#fff;color:#17233e;box-shadow:0 2px 7px rgba(31,49,87,.09)}.calendar-filter-toggle{grid-column:4;grid-row:1;min-width:76px;height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid #dce3ed;border-radius:9px;background:#fff;color:#65718a;font-size:10px;font-weight:700}.calendar-filter-toggle .ui-icon{width:16px;height:16px}.calendar-filter-toggle.is-active{border-color:#a9bce8;background:#edf4ff;color:#3e71b4}.weekday-toggle-group{grid-column:1/-1;grid-row:2;justify-self:stretch;width:100%;display:grid;grid-template-columns:repeat(var(--visible-weekdays,7),minmax(0,1fr));gap:2px;margin-top:3px;padding:3px;border-radius:10px;background:#f3f6fb}.weekday-toggle{min-width:0;min-height:30px;height:30px;padding:6px 8px;border:0;border-radius:7px;background:transparent;color:#7b879f;font-size:10px;font-weight:700;box-shadow:none}.weekday-toggle[aria-pressed=true]{background:#fff;color:#17233e;box-shadow:0 2px 7px rgba(31,49,87,.09)}.weekday-toggle:hover{background:#edf3ff;color:#3f78ff}.weekday-toggle.inactive{display:none}
[data-weekday-surface].weekday-1-hidden [data-weekday-column="1"],[data-weekday-surface].weekday-2-hidden [data-weekday-column="2"],[data-weekday-surface].weekday-3-hidden [data-weekday-column="3"],[data-weekday-surface].weekday-4-hidden [data-weekday-column="4"],[data-weekday-surface].weekday-5-hidden [data-weekday-column="5"],[data-weekday-surface].weekday-6-hidden [data-weekday-column="6"],[data-weekday-surface].weekday-7-hidden [data-weekday-column="7"]{display:none!important}
.calendar-main-v3>.admin-calendar,.calendar-main-v3>.week-schedule-wrapper{order:3}.admin-calendar[data-month-calendar]{display:grid;grid-template-columns:repeat(var(--visible-weekdays,7),minmax(0,1fr));grid-template-rows:39px;grid-auto-rows:99px;align-content:start;overflow:visible;background:#fff}.admin-calendar[data-month-calendar] .weekday{height:39px;display:grid;place-items:center;border-bottom:1px solid #dce3ed;background:#fbfcfe;color:#8994a9;font-size:10px;font-weight:700;letter-spacing:.65px;text-transform:uppercase}.admin-calendar[data-month-calendar] .day-link{position:relative;min-width:0;min-height:91px;display:block;overflow:hidden;padding:8px 7px 6px;border-right:1px solid #dce3ed;border-bottom:1px solid #dce3ed;background:#fff;color:#526078;text-align:left;text-decoration:none;cursor:pointer}.admin-calendar[data-month-calendar] .day-link:nth-child(7n){border-right:0}.admin-calendar[data-month-calendar] .day-link:nth-last-child(-n+7){border-bottom:0}.admin-calendar[data-month-calendar] .day-link:hover{z-index:3;overflow:visible;background:#f9fbff}.admin-calendar[data-month-calendar] .day-link.muted{background:#fbfcfe}.admin-calendar[data-month-calendar] .day-link>strong{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;color:#526078;font-size:11px;font-weight:700;line-height:1}.admin-calendar[data-month-calendar] .day-link.muted>strong{color:#b6bdcb}.admin-calendar[data-month-calendar] .day-link.selected{z-index:1;background:#f4f8ff;box-shadow:inset 0 0 0 2px #4f83d7}.admin-calendar[data-month-calendar] .day-link.today>strong{background:#4f83d7;color:#fff;box-shadow:0 4px 9px rgba(63,120,255,.23)}.admin-calendar[data-month-calendar] .day-counts{display:grid;gap:4px;margin-top:4px}.admin-calendar[data-month-calendar] .calendar-event{display:block;min-width:0;overflow:hidden;margin:0;padding:4px 6px;border-left:2px solid;border-radius:4px;white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:500;line-height:1.15}.calendar-event-value,.calendar-event-label{font-weight:500}.admin-calendar .calendar-event.reserved{border-color:var(--appointment-accent,#4f83d7);background:var(--appointment-bg,#f8faff);color:var(--appointment-color,#2f64d8)}.admin-calendar .calendar-event.online{border-color:#8267ef;background:#f0ecff;color:#6d51cb}.admin-calendar .calendar-event.available{border-color:#35c8b1;background:#e7f8f5;color:#087f70}.admin-calendar .calendar-event.blocked{border-color:#b8cddd;background:#ecf5fc;color:#4f6f8f}.admin-calendar .calendar-event.blocked .calendar-event-value{text-decoration:line-through}.admin-calendar .calendar-event.notice-expired{border-color:#aeb7c5;background:#f2f4f7;color:#667085}.calendar-more{display:none}.day-hover-card{position:absolute;z-index:30;left:calc(100% - 10px);top:10px;width:220px;display:none;gap:5px;padding:11px;border:1px solid #dce3ed;border-radius:10px;background:#fff;color:#526078;box-shadow:0 16px 38px rgba(31,49,87,.18);font-size:10px;white-space:normal}.day-hover-card b,.day-hover-card span,.day-hover-card small{display:block}.day-hover-card small{color:#8994a9}.day-link:nth-child(7n) .day-hover-card,.day-link:nth-child(7n-1) .day-hover-card{right:calc(100% - 10px);left:auto}.day-link:hover .day-hover-card{display:grid}
.week-schedule-wrapper{max-height:none;overflow-x:auto;overflow-y:visible}.week-schedule{--week-time-column:58px;min-width:930px;display:grid;grid-template-columns:var(--week-time-column) repeat(var(--visible-weekdays,7),minmax(120px,1fr));background:#fff}.week-schedule.is-day{min-width:0;grid-template-columns:58px minmax(0,1fr)}.week-corner,.week-day-heading{min-height:57px;display:grid;place-items:center;padding:7px;border-right:1px solid #dce3ed;border-bottom:1px solid #dce3ed;background:#fff;color:#74809a;font-size:11px;font-weight:700;text-decoration:none}.week-day-heading.selected{background:#f4f8ff;box-shadow:inset 0 -3px #4f83d7}.week-day-heading.today{background:#f4f8ff;color:#4e79a7}.week-time,.week-slot,.week-break-time,.week-break-slot{position:relative;min-height:34px;border-right:1px solid #dce3ed;border-bottom:1px solid #edf1f6}.week-time,.week-break-time{padding:8px 5px;background:#fbfcfe;color:#74809a;text-align:center;font-size:10px;font-weight:700}.week-slot{overflow:visible;background:#fff;cursor:pointer}.week-slot:hover{z-index:8;background:#f7faff;box-shadow:inset 0 0 0 1px #bad0ee}.week-slot:focus-visible{z-index:8;outline:2px solid #3f78ff;outline-offset:-2px}.week-break-time,.week-break-slot{background:repeating-linear-gradient(135deg,#f5f7fa,#f5f7fa 8px,#eef2f7 8px,#eef2f7 16px);color:#8994a9}.week-slot-content{position:absolute;z-index:9;top:6px;right:5px;left:5px;height:max(40px,calc(var(--event-height,68px) - 12px));min-width:0;display:grid;align-content:start;overflow:hidden;padding:6px;border-left:3px solid var(--appointment-accent,currentColor);border-radius:6px;background:var(--appointment-bg,#f8faff);color:var(--appointment-color,#35577e);box-shadow:0 2px 5px rgba(31,49,87,.08)}.week-slot.available .week-slot-content{border-left-color:#35c8b1;background:#e7f8f5;color:#087f70}.week-slot.blocked .week-slot-content{border-left-color:#6c8fa9;background:#ecf5fc;color:#4f6f8f}.week-slot.notice-expired .week-slot-content{border-left-color:#aab4c4;background:#f4f6f8;color:#667085}.week-slot-meta,.week-slot-body,.week-slot-service,.week-slot-patient{min-width:0;display:grid}.week-slot-meta{grid-template-columns:1fr auto;gap:4px}.week-slot-hour,.week-slot-status,.week-slot-title,.week-slot-service span,.week-slot-patient strong,.week-slot-patient span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.week-slot-status{font-weight:400}.week-slot-title,.week-slot-patient strong{font-weight:700}.week-slot-service span,.week-slot-patient span{color:currentColor;opacity:.75}.week-schedule.is-day .week-slot-content{right:12px;left:12px;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:start;padding:9px 12px;border:1px solid #e3e9f3;border-left:4px solid var(--appointment-accent,currentColor);border-radius:10px}.week-schedule.is-day .week-slot-meta{grid-column:1;grid-template-columns:1fr}.week-schedule.is-day .week-slot-body{grid-column:2;grid-template-columns:minmax(0,240px) minmax(0,180px);gap:12px}.week-schedule.is-day .week-slot-service{grid-column:1}.week-schedule.is-day .week-slot-patient{grid-column:2}
.calendar-agenda-v3{min-width:0;display:flex;flex-direction:column;border-left:1px solid #dce3ed;background:#fff}.calendar-agenda-head{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px 12px}.calendar-agenda-head h2{margin:0;color:var(--layout-blue);font-size:16px;font-weight:700}.calendar-agenda-date{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#edf4ff;color:#447bd1;font-size:16px;font-weight:700}.calendar-agenda-summary{display:flex;justify-content:space-between;padding:10px 18px;border-top:1px solid #dce3ed;border-bottom:1px solid #dce3ed;color:#718099;font-size:9px}.calendar-agenda-open-day{display:grid;grid-template-columns:34px minmax(0,1fr) 15px;gap:9px;align-items:center;margin:10px 12px 4px;padding:10px;border:1px solid #bfd4f5;border-radius:9px;background:#f2f7ff;color:#355f9c;text-decoration:none}.calendar-agenda-open-day:hover{background:#edf4ff;text-decoration:none}.calendar-agenda-open-day>span:first-child{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#e6f0ff}.calendar-agenda-open-day>span:first-child .ui-icon{width:17px;height:17px}.calendar-agenda-open-day strong,.calendar-agenda-open-day small{display:block}.calendar-agenda-open-day strong{font-size:9px}.calendar-agenda-open-day small{margin-top:2px;color:#7a899f;font-size:8px}.calendar-agenda-open-day>b{display:grid;place-items:center}.calendar-agenda-open-day>b .ui-icon{width:16px;height:16px}.calendar-agenda-list{flex:1 1 auto;min-height:230px;max-height:530px;overflow:auto;padding:11px 14px 16px}.calendar-agenda-item{display:grid;grid-template-columns:48px 30px minmax(0,1fr);gap:8px;align-items:start;padding:10px 0;border-bottom:1px solid #edf1f7}.calendar-agenda-item>time{display:flex;align-items:center;align-self:start;flex-direction:column;justify-self:stretch;padding-top:8px;color:#4e6080;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;text-align:center}.calendar-agenda-item .agenda-time-range i{width:1px;height:25px;display:block;margin:5px 0;background:#b8c5d8}.calendar-agenda-item-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:9px}.calendar-agenda-item-icon .ui-icon{width:14px;height:14px}.calendar-agenda-item-icon.is-booking{background:#edf3ff;color:#3f78ff}.calendar-agenda-item-icon.is-online{background:#f1edff;color:#8065dc}.calendar-agenda-item-icon.is-free{background:#e9f8f4;color:#19a991}.calendar-agenda-item-icon.is-blocked{background:#ecf5fc;color:#5f829e}.calendar-agenda-item-icon.is-notice-expired{background:#f2f4f7;color:#667085}.calendar-agenda-item>span:last-child{min-width:0;padding:9px 10px;border-radius:10px;background:var(--agenda-bg,#f8faff);color:var(--agenda-color,inherit)}.calendar-agenda-item.is-free>span:last-child{background:#e7f8f5;color:#087f70}.calendar-agenda-item.is-blocked>span:last-child{background:#ecf5fc;color:#4f6f8f}.calendar-agenda-item.is-notice-expired>span:last-child{background:#f4f6f8;color:#667085}.calendar-agenda-item strong,.calendar-agenda-item small,.calendar-agenda-item em{display:block}.calendar-agenda-item strong{font-size:11px;line-height:1.25}.calendar-agenda-item small{margin-top:3px;color:#8490a5;font-size:10px;line-height:1.35}.calendar-agenda-item em{width:fit-content;margin-top:6px;padding:3px 6px;border:1px solid #dce3ed;border-radius:5px;color:#61708a;font-size:10px;font-style:normal}.calendar-agenda-empty{min-height:230px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.calendar-agenda-empty>span{width:48px;height:48px;display:grid;place-items:center;margin-bottom:15px;border-radius:14px;background:#edf4ff;color:#477bd1}.calendar-agenda-empty strong{font-size:13px}.calendar-agenda-empty p{margin:7px 0 13px;color:#8792a7;font-size:10px}.calendar-agenda-empty button{border:0;background:transparent;color:#3978d5;font-size:10px;font-weight:700}.calendar-agenda-actions{display:grid;padding:12px 14px;border-top:1px solid #dce3ed}.calendar-agenda-actions button{width:100%;min-height:34px;border:1px solid #dce3ed;border-radius:8px;background:#fff;color:#596780;font-size:10px;font-weight:700}
.day-details-drawer{position:fixed;z-index:100;inset:0;display:flex;justify-content:flex-end}.day-details-drawer[hidden]{display:none}.day-details-backdrop{position:absolute;inset:0;background:rgba(23,35,62,.44);backdrop-filter:blur(3px)}.day-details-panel{position:relative;width:min(840px,calc(100% - 40px));height:100%;overflow:auto;background:#f7f9fc;box-shadow:-24px 0 70px rgba(20,32,59,.24)}.day-details-modal-head{position:sticky;z-index:2;top:0;display:flex;align-items:flex-start;justify-content:space-between;padding:22px 24px;border-bottom:1px solid #dce3ed;background:#fff}.day-details-modal-head h2{margin:0;color:#17233e;font-size:21px}.day-details-modal-head p{margin:5px 0 0;color:#74809a;font-size:11px}.day-details-close{width:36px;height:36px;display:grid;place-items:center;border:1px solid #dce3ed;border-radius:10px;background:#fff;color:#63708b}.details-column{padding:20px}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.details{padding:17px;border:1px solid #dce3ed;border-radius:14px;background:#fff}.details-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.details h3{margin:0 0 13px;color:#263750;font-size:14px}.details-head button{min-height:34px;padding:7px 10px;border:1px solid #dce3ed;border-radius:8px;background:#fff;color:#596780;font-size:10px;font-weight:700}.details-entry{display:grid;gap:3px;margin-top:8px;padding:10px;border:1px solid #e3e9f3;border-radius:9px;background:#fbfcfe;color:#526078;font-size:10px}.details-entry.is-free{border-color:#cdece4;background:#edf9f6;color:#087f70}.details-entry.is-blocked{border-color:#cbdce8;background:#ecf5fc;color:#4f6f8f}.details-entry.is-notice-expired{background:#f4f6f8;color:#667085}.details-entry form{margin-top:6px}.details-entry button{min-height:29px;padding:4px 8px;border:1px solid #dce3ed;border-radius:7px;background:#fff;color:#596780;font-size:9px}
.admin-modal{position:fixed;z-index:110;inset:0;display:grid;place-items:center;padding:20px}.admin-modal[hidden]{display:none}.admin-modal-backdrop{position:absolute;inset:0;background:rgba(23,35,62,.44);backdrop-filter:blur(3px)}.admin-modal-dialog{position:relative;width:min(720px,100%);max-height:calc(100dvh - 40px);padding:24px;overflow-y:auto;border:1px solid rgba(223,229,239,.9);border-radius:18px;background:#fff;box-shadow:0 30px 90px rgba(20,32,59,.3);color:#17233e}.admin-modal-dialog h2{margin:0 48px 6px 0;font-size:21px}.admin-modal-dialog>p{color:#74809a;font-size:10px}.admin-modal-close{position:absolute;top:14px;right:14px;width:36px;height:36px;display:grid;place-items:center;padding:0;border:1px solid #dce3ed;border-radius:10px;background:#fff;color:#63708b}.slot-management-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px;padding-top:14px;border-top:1px solid #dce3ed}.slot-action-summary{flex:1 0 100%;margin:0;padding:10px 11px;border:1px solid #dce5f3;border-radius:9px;background:#fff;color:#35577e;font-size:11px;font-weight:700}.slot-management-actions>[data-slot-existing-actions]{flex:1 0 100%;display:flex;flex-wrap:wrap;gap:8px}.slot-management-actions .button{height:33px;min-height:33px;padding:5px 11px;font-size:11px}.slot-management-actions form{display:inline-flex;gap:7px;align-items:center}.slot-management-actions select{height:33px;padding:5px 8px;font-size:10px}.slot-management-actions form button{height:33px;padding:5px 10px;border:0;border-radius:8px;background:#365f8b;color:#fff;font-size:10px;font-weight:700}.slot-management-actions form button.danger{background:#dc3545}
.calendar-v2-page~dialog .dialog-form>header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.calendar-v2-page~dialog .dialog-form>header>div{display:flex;align-items:center;gap:10px}.calendar-v2-page~dialog .dialog-form h2{margin:0;font-size:19px}.calendar-v2-page~dialog .dialog-form p{margin:3px 0 0;color:#74809a;font-size:10px}.calendar-v2-page~dialog .dialog-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#edf4ff;color:#3f78ff}.calendar-v2-page~dialog .dialog-close{width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid #dce3ed;border-radius:9px;background:#fff;color:#63708b}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
html[data-theme=dark] body.panel-page{background:radial-gradient(circle at 84% 5%,#17243a 0,transparent 30%),#0e1623}html[data-theme=dark] .calendar-workspace-v3,html[data-theme=dark] .calendar-agenda-v3,html[data-theme=dark] .admin-calendar[data-month-calendar],html[data-theme=dark] .admin-calendar[data-month-calendar] .day-link,html[data-theme=dark] .calendar-head,html[data-theme=dark] .week-schedule,html[data-theme=dark] .week-slot,html[data-theme=dark] .week-day-heading,html[data-theme=dark] .admin-modal-dialog,html[data-theme=dark] .day-details-panel,html[data-theme=dark] .day-details-modal-head,html[data-theme=dark] .details{border-color:#33445c;background:#151f2e;color:#e6edf7}html[data-theme=dark] .calendar-dashboard-stats article{border-color:#33445c;background:#172334}html[data-theme=dark] .calendar-dashboard-stats .dashboard-load{background:linear-gradient(135deg,#2b4a80,#243f70)}html[data-theme=dark] .calendar-navigation .button-link,html[data-theme=dark] .calendar-today-link,html[data-theme=dark] .calendar-view-switch .active,html[data-theme=dark] .weekday-toggle[aria-pressed=true],html[data-theme=dark] .calendar-filter-toggle,html[data-theme=dark] .calendar-agenda-actions button{border-color:#405069;background:#172334;color:#dbe6f5}html[data-theme=dark] .admin-calendar[data-month-calendar] .weekday,html[data-theme=dark] .week-time,html[data-theme=dark] .calendar-controls-row{border-color:#33445c;background:#111b2a}html[data-theme=dark] .day-link.selected{background:#1d3048!important}html[data-theme=dark] .calendar-agenda-item>span:last-child{color:#dce7f5}html[data-theme=dark] .calendar-filter-form select,html[data-theme=dark] .admin-modal-dialog input,html[data-theme=dark] .admin-modal-dialog select{border-color:#405069;background:#101927;color:#edf4ff}
@media(max-width:1180px){.calendar-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-workspace-v3{grid-template-columns:minmax(0,1fr) 285px}.calendar-navigation h2{width:128px}.calendar-filter-title{display:none}.calendar-filter-toggle{min-width:35px;width:35px;padding:0}.calendar-filter-toggle b{display:none}}
@media(max-width:860px){.calendar-workspace-v3{grid-template-columns:1fr}.calendar-agenda-v3{min-height:360px;border-top:1px solid #dce3ed;border-left:0}.calendar-agenda-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.details-grid{grid-template-columns:1fr}}
@media(max-width:680px){.calendar-dashboard-intro{align-items:center;gap:10px}.dashboard-title-row{align-items:baseline;gap:9px}.dashboard-title-row time{font-size:9px}.dashboard-add-button,.dashboard-preview-button{width:42px;min-width:42px;padding:0}.dashboard-add-button span,.dashboard-preview-button span{display:none}.calendar-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.calendar-dashboard-stats article{min-height:73px;padding:11px;gap:8px}.calendar-dashboard-stats .dashboard-load{display:none}.dashboard-stat-icon{width:34px;height:34px}.calendar-dashboard-stats strong{font-size:17px}.calendar-head{min-height:0;grid-template-columns:auto minmax(0,1fr) auto;gap:10px 8px;padding:12px}.calendar-navigation{grid-column:1/-1;width:100%;justify-content:space-between}.calendar-navigation h2{width:auto;flex:1}.calendar-today-link{grid-column:1;grid-row:2}.calendar-view-switch{grid-column:2;grid-row:2;justify-self:center}.calendar-filter-toggle{grid-column:3;grid-row:2}.weekday-toggle-group{grid-row:3;margin-top:0}.weekday-toggle{height:28px;min-height:28px;padding-inline:3px;font-size:8px}.calendar-controls-row.is-open{display:flex;align-items:stretch;flex-direction:column}.calendar-filter-form{width:100%;grid-template-columns:1fr}.calendar-filter-form label{justify-content:space-between}.calendar-filter-form select{width:65%;min-width:0}.admin-calendar[data-month-calendar]{grid-auto-rows:61px}.admin-calendar[data-month-calendar] .weekday{height:39px;font-size:7px}.admin-calendar[data-month-calendar] .day-link{min-height:61px;padding:5px 3px}.admin-calendar[data-month-calendar] .day-link>strong{width:23px;height:23px;font-size:9px}.admin-calendar[data-month-calendar] .day-counts{height:13px;display:block;overflow:hidden;white-space:nowrap}.admin-calendar[data-month-calendar] .calendar-event{width:7px;height:7px;display:inline-block;margin:5px 1px 0 3px;padding:0;border:0;border-radius:50%;color:transparent;font-size:0}.day-hover-card{display:none!important}.calendar-agenda-list{grid-template-columns:1fr}.week-schedule.is-day{grid-template-columns:46px minmax(0,1fr)}.week-schedule.is-day .week-slot-content{right:7px;left:7px;grid-template-columns:82px minmax(0,1fr);gap:8px;padding:8px}.week-schedule.is-day .week-slot-body{grid-template-columns:1fr;gap:5px}.week-schedule.is-day .week-slot-patient{grid-column:1}.day-details-panel{width:100%}.day-details-drawer{padding:10px}.day-details-panel{height:calc(100dvh - 20px);border-radius:16px}.calendar-v2-page~dialog .form-grid{grid-template-columns:1fr}}
.calendar-v2-page .weekday-toggle.inactive{display:block;background:transparent;color:#9ba6b8;box-shadow:none}
.weekday-toggle.inactive{display:block;background:transparent;color:#9ba6b8;box-shadow:none}

/* Stabilny selektor dni: siedem przycisków pozostaje zawsze w jednym rzędzie,
   a zmienia się wyłącznie liczba kolumn samego kalendarza. */
.calendar-v2-page .weekday-toggle-group{grid-template-columns:repeat(7,minmax(0,1fr));box-sizing:border-box}
.calendar-v2-page .weekday-toggle.inactive{opacity:.55}

/* Czytelne etykiety w kafelkach miesiąca. */
.admin-calendar[data-month-calendar] .calendar-event{min-height:20px;display:flex;align-items:center;gap:4px;padding:4px 7px;border-left-width:3px;border-radius:5px;box-shadow:inset 0 0 0 1px rgba(61,86,124,.04)}
.admin-calendar[data-month-calendar] .calendar-event-value{flex:0 0 auto;font-weight:700;font-variant-numeric:tabular-nums}
.admin-calendar[data-month-calendar] .calendar-event-label{min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:500}

/* Zamrożona kolumna godzin podczas poziomego przewijania tygodnia. */
.week-corner,.week-time,.week-break-time{position:sticky;left:0;z-index:12;box-shadow:1px 0 0 #dce3ed}
.week-corner{z-index:14}

/* Czerwona linia aktualnej godziny w widoku tygodnia i dnia. */
.current-time-marker{position:absolute;z-index:11;right:0;left:0;height:2px;background:#ff2535;pointer-events:none}
.current-time-marker::before{position:absolute;top:50%;left:0;width:9px;height:9px;border-radius:999px;background:#ff2535;content:"";transform:translate(-50%,-50%);box-shadow:0 0 0 2px #fff}
.week-time .current-time-marker,.week-break-time .current-time-marker{z-index:15}
.week-slot .current-time-marker::before,.week-break-slot .current-time-marker::before{display:none}
html[data-theme=dark] .week-corner,html[data-theme=dark] .week-time,html[data-theme=dark] .week-break-time{box-shadow:1px 0 0 #33445c}
html[data-theme=dark] .current-time-marker::before{box-shadow:0 0 0 2px #151f2e}

/* Przerwa zajmuje połowę standardowego wiersza godzinowego. */
.week-schedule .week-break-time,.week-schedule .week-break-slot{min-height:17px;height:17px;padding-top:0;padding-bottom:0}
.week-schedule .week-break-time{display:grid;place-items:center;font-size:8px;line-height:17px}

/* Ciemne boksy zdarzeń zgodne z wersją referencyjną. */
html[data-theme=dark] .week-schedule .week-slot-content{border-color:#3b4a60!important;background:#1a2637!important;color:#e4edf8!important;box-shadow:0 3px 12px rgba(0,0,0,.2)}
html[data-theme=dark] .week-schedule .week-slot.available .week-slot-content{border-color:#315d59!important;border-left-color:#35c8b1!important;background:#172d2d!important;color:#d7f5ef!important}
html[data-theme=dark] .week-schedule .week-slot.reserved .week-slot-content{border-color:#40516a!important;border-left-color:var(--appointment-accent,#6f9ed4)!important;background:#1b283b!important;color:#e5eef9!important}
html[data-theme=dark] .week-schedule .week-slot.blocked .week-slot-content{border-color:#405064!important;border-left-color:#7995ad!important;background:#1b2937!important;color:#d4e1ed!important}
html[data-theme=dark] .week-schedule .week-slot.notice-expired .week-slot-content{border-color:#3d4859!important;border-left-color:#7d899c!important;background:#202938!important;color:#c3cede!important}
html[data-theme=dark] .week-schedule .week-slot-content *{color:inherit!important;-webkit-text-fill-color:currentColor}
html[data-theme=dark] .week-break-time,html[data-theme=dark] .week-break-slot{border-color:#4a3d46!important;background:#211b23!important;color:#caa0a7!important}

@media(max-width:680px){
  .admin-calendar[data-month-calendar] .calendar-event{display:inline-block;min-height:0;gap:0;padding:0;border-left-width:0;box-shadow:none}
}

/* Układ wpisów godzinowych przeniesiony z referencyjnego panelu v2. */
.week-schedule:not(.is-day) .week-slot-content{top:6px;right:5px;left:5px;height:max(40px,calc(var(--event-height,68px) - 12px));display:flex;flex-direction:column;gap:3px;overflow:hidden;padding:5px 7px 5px 10px;border:1px solid #e3e9f3;border-left:5px solid var(--appointment-accent,currentColor);border-radius:7px;background:var(--appointment-bg,#f4f7fb);box-shadow:0 2px 8px rgba(31,49,87,.05)}
.week-schedule:not(.is-day) .week-slot-meta{display:block;min-width:0;font-size:10px;line-height:1.2}
.week-schedule:not(.is-day) .week-slot-hour{display:block;overflow:hidden;color:#526078;font-size:10px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.week-schedule:not(.is-day) .week-slot-status{display:none}
.week-schedule:not(.is-day) .week-slot-body{min-width:0;display:flex;align-items:stretch;flex-direction:column;gap:2px}
.week-schedule:not(.is-day) .week-slot-service,.week-schedule:not(.is-day) .week-slot-patient{min-width:0;display:flex;flex-direction:column;gap:1px}
.week-schedule:not(.is-day) .week-slot-title,.week-schedule:not(.is-day) .week-slot-service strong,.week-schedule:not(.is-day) .week-slot-patient strong{display:block;overflow:hidden;font-size:11px;font-weight:700;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.week-schedule:not(.is-day) .week-slot-service span,.week-schedule:not(.is-day) .week-slot-patient span{display:block;overflow:hidden;color:#61718c;font-size:10px;font-weight:500;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}

.week-schedule.is-day .week-time,.week-schedule.is-day .week-slot{min-height:68px}
.week-schedule.is-day .week-slot.available,.week-schedule.is-day .week-slot.reserved,.week-schedule.is-day .week-slot.blocked,.week-schedule.is-day .week-slot.notice-expired{width:100%;height:34px;min-height:34px;margin:0;padding:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
.week-schedule.is-day .week-slot-content{position:absolute;z-index:9;top:calc(var(--event-start-offset,0px) + 6px);right:12px;left:12px;height:max(44px,calc(var(--event-height,68px) - 12px));display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:start;overflow:hidden;padding:9px 12px;border:1px solid #e3e9f3;border-left:4px solid var(--appointment-accent,currentColor);border-radius:10px;background:var(--appointment-bg,#f4f7fb);color:inherit;box-shadow:0 3px 10px rgba(31,49,87,.07)}
.week-schedule.is-day .week-slot-meta{grid-column:1;align-self:start;justify-self:start;min-width:0}
.week-schedule.is-day .week-slot-body{grid-column:2;min-width:0;display:grid;grid-template-columns:minmax(0,240px) minmax(0,180px);justify-content:start;gap:12px;align-self:start;justify-self:stretch;text-align:left}
.week-schedule.is-day .week-slot-service{grid-column:1;min-width:0}.week-schedule.is-day .week-slot-patient{grid-column:2;min-width:0}
.week-schedule.is-day .week-slot-title,.week-schedule.is-day .week-slot-service strong,.week-schedule.is-day .week-slot-patient strong{display:block;overflow:hidden;font-size:11px;font-weight:700;line-height:1.25;text-align:left;text-overflow:ellipsis;white-space:nowrap}
.week-schedule.is-day .week-slot-hour{color:#526078;font-size:11px;font-weight:500;line-height:1.3}.week-schedule.is-day .week-slot-status{display:block;color:#74809a;font-size:10px;font-weight:700;line-height:1.3}
.week-schedule.is-day .week-slot-service span,.week-schedule.is-day .week-slot-patient span{display:block;overflow:hidden;color:#61718c;font-size:10px;font-weight:500;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}

html[data-theme=dark] .week-schedule .week-slot-hour,html[data-theme=dark] .week-schedule .week-slot-service span,html[data-theme=dark] .week-schedule .week-slot-patient span{color:#a9b8cc!important}
html[data-theme=dark] .week-schedule .week-slot-status{color:#91a2b8!important}
@media(max-width:680px){.week-schedule.is-day .week-slot-content{right:7px;left:7px;grid-template-columns:82px minmax(0,1fr);gap:8px;padding:8px}.week-schedule.is-day .week-slot-body{grid-template-columns:1fr;gap:5px}.week-schedule.is-day .week-slot-patient{grid-column:1}}

/* 0.13: geometria półgodzin, treść kolorboksów i precyzyjne obszary kliknięcia. */
.week-schedule.is-day .week-time,.week-schedule.is-day .week-slot{height:34px;min-height:34px}
.week-schedule.is-day>:nth-child(4n+3),.week-schedule.is-day>:nth-child(4n+4){border-top:1px solid #dce3ed}
.week-slot.has-event{cursor:default}
.week-slot.has-event:hover{z-index:auto;background:inherit;box-shadow:none}
.week-slot.has-event:focus-visible{outline:0}
.week-slot.has-event .week-slot-content{cursor:pointer}
.week-slot.has-event .week-slot-content:hover{filter:brightness(.985);box-shadow:0 4px 13px rgba(31,49,87,.13)}
.week-slot.has-event .week-slot-content:focus-visible{outline:2px solid #3f78ff;outline-offset:2px}
.week-schedule:not(.is-day) .week-slot-body{flex:1 1 auto;justify-content:center;overflow:hidden}
.week-schedule:not(.is-day) .week-slot:not([data-duration-minutes="60"]) .week-slot-body{gap:5px}
.week-schedule:not(.is-day) .week-slot.reserved[data-duration-minutes="60"] .week-slot-service span,
.week-schedule:not(.is-day) .week-slot.reserved[data-duration-minutes="60"] .week-slot-patient span{display:none}
.week-schedule:not(.is-day) .week-slot.available .week-slot-service strong,
.week-schedule:not(.is-day) .week-slot.blocked .week-slot-service strong,
.week-schedule:not(.is-day) .week-slot.notice-expired .week-slot-service strong{display:none}

/* Popupy i panel dnia zgodne z paletą referencyjnego panelu. */
.admin-modal-dialog{width:min(720px,100%);max-height:calc(100dvh - 40px);padding:24px;border:1px solid rgba(223,229,239,.9);border-radius:18px;background:#fff;color:#17233e;box-shadow:0 30px 90px rgba(20,32,59,.3)}
.admin-modal-dialog h2{margin:0 48px 6px 0;color:#17233e;font-size:21px;font-weight:700;letter-spacing:-.25px}
.admin-modal-dialog>p,.admin-modal-dialog .slot-modal-status{color:#74809a;font-size:10px;line-height:1.5}
.admin-modal-dialog label{color:#53627c;font-size:10px;font-weight:700}
.admin-modal-dialog input,.admin-modal-dialog select,.admin-modal-dialog textarea{border-color:#dfe5ef;border-radius:9px;background:#fbfcfe;color:#17233e;font-size:11px}
.admin-modal-dialog input:focus,.admin-modal-dialog select:focus,.admin-modal-dialog textarea:focus{border-color:#7aa3e6;background:#fff;outline:0;box-shadow:0 0 0 3px rgba(63,120,255,.1)}
.admin-modal-dialog .slot-management-actions{margin:16px 0;padding:14px;border:1px solid #dce3ed;border-radius:12px;background:#f8faff}
.admin-modal-dialog .slot-action-summary{border-color:#dce5f3;background:#f5f8ff;color:#35577e}

/* Pełna ciemna paleta panelu — kalendarze, agenda, dymki i okna dialogowe. */
html[data-theme=dark] .week-corner{border-color:#33445c;background:#111b2a;color:#a9b8cc}
html[data-theme=dark] .week-schedule.is-day>:nth-child(4n+3),html[data-theme=dark] .week-schedule.is-day>:nth-child(4n+4){border-top-color:#506079}
html[data-theme=dark] .week-slot.has-event .week-slot-content:hover{filter:brightness(1.12);box-shadow:0 5px 16px rgba(0,0,0,.28)}
html[data-theme=dark] .dashboard-preview-button{border-color:#405069!important;background:#172334!important;color:#b9cbe2!important;box-shadow:none!important}
html[data-theme=dark] .dashboard-preview-button:hover{border-color:#5e7594!important;background:#1b2a3d!important;color:#edf4ff!important}
html[data-theme=dark] .calendar-agenda-date{background:#203653;color:#83b5ff}
html[data-theme=dark] .calendar-agenda-item{border-bottom-color:#314158}
html[data-theme=dark] .calendar-agenda-item>time{color:#91a4be}
html[data-theme=dark] .calendar-agenda-item>span:last-child{border:1px solid #40516a!important;background:#1b283b!important;color:#e5eef9!important}
html[data-theme=dark] .calendar-agenda-item.is-free>span:last-child{border-color:#315d59!important;background:#172d2d!important;color:#d7f5ef!important}
html[data-theme=dark] .calendar-agenda-item.is-blocked>span:last-child{border-color:#405064!important;background:#1b2937!important;color:#d4e1ed!important}
html[data-theme=dark] .calendar-agenda-item.is-notice-expired>span:last-child{border-color:#3d4859!important;background:#202938!important;color:#c3cede!important}
html[data-theme=dark] .calendar-agenda-item small,html[data-theme=dark] .calendar-agenda-item em{color:#a9b8cc}
html[data-theme=dark] .calendar-agenda-item em{border-color:#405069;background:#142033}
html[data-theme=dark] .calendar-agenda-open-day{border-color:#405b7d;background:#192b40;color:#a9cfff}
html[data-theme=dark] .calendar-agenda-open-day>span:first-child{background:#203653}
html[data-theme=dark] .calendar-agenda-open-day small{color:#98abc3}
html[data-theme=dark] .day-hover-card{border-color:#405069;background:#182334;color:#e6edf7;box-shadow:0 18px 42px rgba(0,0,0,.42)}
html[data-theme=dark] .day-hover-card small{color:#a9b8cc}
html[data-theme=dark] .admin-modal-backdrop{background:rgba(2,7,15,.78);backdrop-filter:blur(4px)}
html[data-theme=dark] .admin-modal-dialog{border-color:#3a485d;background:#151f2e;color:#e6edf7;box-shadow:0 30px 90px rgba(0,0,0,.55)}
html[data-theme=dark] .admin-modal-dialog h1,html[data-theme=dark] .admin-modal-dialog h2,html[data-theme=dark] .admin-modal-dialog h3,html[data-theme=dark] .admin-modal-dialog h4,html[data-theme=dark] .admin-modal-dialog strong,html[data-theme=dark] .admin-modal-dialog b{color:#edf4ff}
html[data-theme=dark] .admin-modal-dialog p,html[data-theme=dark] .admin-modal-dialog span,html[data-theme=dark] .admin-modal-dialog label,html[data-theme=dark] .admin-modal-dialog .slot-modal-status{color:#a9b8cc}
html[data-theme=dark] .admin-modal-close{border-color:#42516a;background:#1b2839;color:#c9d7e8}
html[data-theme=dark] .admin-modal-close:hover{border-color:#6582a7;background:#24344b;color:#fff}
html[data-theme=dark] .admin-modal-dialog input,html[data-theme=dark] .admin-modal-dialog select,html[data-theme=dark] .admin-modal-dialog textarea{border-color:#405069;background:#101927;color:#edf4ff;-webkit-text-fill-color:#edf4ff}
html[data-theme=dark] .admin-modal-dialog input:focus,html[data-theme=dark] .admin-modal-dialog select:focus,html[data-theme=dark] .admin-modal-dialog textarea:focus{border-color:#6f9ed4;background:#121d2c;box-shadow:0 0 0 3px rgba(111,158,212,.16)}
html[data-theme=dark] .admin-modal-dialog .slot-management-actions{border-color:#394960;background:#121d2c}
html[data-theme=dark] .admin-modal-dialog .slot-action-summary{border-color:#40516a;background:#1a293d;color:#c4d8ef}
html[data-theme=dark] .admin-modal-dialog button:not(.secondary):not(.danger):not(.admin-modal-close){border-color:#4779ad;background:#35689b;color:#fff}
html[data-theme=dark] .admin-modal-dialog button:not(.secondary):not(.danger):not(.admin-modal-close):hover{border-color:#6396cc;background:#4279af}
html[data-theme=dark] .admin-modal-dialog button.danger{border-color:#7c474b;background:#2d1c22;color:#ffaaa8}
html[data-theme=dark] .admin-modal-dialog button.danger:hover{border-color:#a65a60;background:#3a2229;color:#ffc0be}
html[data-theme=dark] .calendar-v2-page~dialog{border-color:#3a485d;background:#151f2e;color:#e6edf7;box-shadow:0 30px 90px rgba(0,0,0,.55)}
html[data-theme=dark] .calendar-v2-page~dialog::backdrop{background:rgba(2,7,15,.78);backdrop-filter:blur(4px)}
html[data-theme=dark] .calendar-v2-page~dialog .dialog-form>header{border-bottom-color:#394960;background:#151f2e}
html[data-theme=dark] .calendar-v2-page~dialog .dialog-form h2{color:#edf4ff}
html[data-theme=dark] .calendar-v2-page~dialog .dialog-form p{color:#a9b8cc}
html[data-theme=dark] .calendar-v2-page~dialog .dialog-icon{background:#203653;color:#83b5ff}
html[data-theme=dark] .calendar-v2-page~dialog .dialog-close{border-color:#42516a;background:#1b2839;color:#c9d7e8}
html[data-theme=dark] .calendar-v2-page~dialog input,html[data-theme=dark] .calendar-v2-page~dialog select,html[data-theme=dark] .calendar-v2-page~dialog textarea{border-color:#405069;background:#101927;color:#edf4ff;-webkit-text-fill-color:#edf4ff}
html[data-theme=dark] .calendar-v2-page~dialog label{color:#c7d3e3}

/* 0.13.1: miesięczny bez dymków oraz kompletna paleta nocna z panelu referencyjnego v2. */
.day-hover-card{display:none!important}
html[data-theme=dark] .calendar-v2-page{color:#e6edf7}
html[data-theme=dark] .calendar-workspace-v3,
html[data-theme=dark] .calendar-main-v3,
html[data-theme=dark] .calendar-agenda-v3{border-color:#303c50!important;background:#151f2e!important;color:#e6edf7!important;box-shadow:0 13px 38px rgba(0,0,0,.2)!important}
html[data-theme=dark] .calendar-head,
html[data-theme=dark] .calendar-controls-row,
html[data-theme=dark] .calendar-agenda-head,
html[data-theme=dark] .calendar-agenda-summary,
html[data-theme=dark] .calendar-agenda-actions{border-color:#303c50!important;background:#151f2e!important}
html[data-theme=dark] .calendar-navigation h2,
html[data-theme=dark] .calendar-agenda-head h2{color:#9bc4ee!important}
html[data-theme=dark] .calendar-view-switch,
html[data-theme=dark] .weekday-toggle-group{background:#101927!important}
html[data-theme=dark] .calendar-view-switch .button-link,
html[data-theme=dark] .weekday-toggle{background:transparent!important;color:#8e9eb5!important;box-shadow:none!important}
html[data-theme=dark] .calendar-view-switch .active,
html[data-theme=dark] .weekday-toggle[aria-pressed=true]{background:#27364c!important;color:#edf4ff!important;box-shadow:0 2px 7px rgba(0,0,0,.25)!important}
html[data-theme=dark] .calendar-navigation .button-link,
html[data-theme=dark] .calendar-today-link,
html[data-theme=dark] .calendar-filter-toggle,
html[data-theme=dark] .calendar-agenda-actions button{border-color:#39475c!important;background:#182334!important;color:#dbe6f5!important}
html[data-theme=dark] .calendar-dashboard-stats .dashboard-load{border-color:#33445c!important;background:#182334!important}
html[data-theme=dark] .dashboard-stat-icon.blue{background:#203653!important;color:#83b5ff!important}
html[data-theme=dark] .dashboard-stat-icon.mint{background:#183c38!important;color:#67d7c7!important}
html[data-theme=dark] .dashboard-stat-icon.violet{background:#30294c!important;color:#b5a3ff!important}
html[data-theme=dark] .admin-calendar[data-month-calendar],
html[data-theme=dark] .admin-calendar[data-month-calendar] .day-link,
html[data-theme=dark] .week-schedule,
html[data-theme=dark] .week-slot,
html[data-theme=dark] .week-time,
html[data-theme=dark] .week-day-heading,
html[data-theme=dark] .week-corner{border-color:#303c50!important;background:#131d2b!important;color:#c7d3e3!important}
html[data-theme=dark] .admin-calendar[data-month-calendar] .weekday{border-color:#303c50!important;background:#101927!important;color:#91a0b5!important}
html[data-theme=dark] .admin-calendar[data-month-calendar] .day-link.muted{background:#111a27!important;color:#65748a!important}
html[data-theme=dark] .admin-calendar[data-month-calendar] .day-link:hover{background:#182538!important}
html[data-theme=dark] .admin-calendar[data-month-calendar] .day-link.selected{background:#1d3048!important}
html[data-theme=dark] .admin-calendar[data-month-calendar] .calendar-event{border-color:#40516a!important;background:#1b283b!important;color:#e5eef9!important;box-shadow:none!important}
html[data-theme=dark] .admin-calendar[data-month-calendar] .calendar-event.online{border-color:#765dd0!important;background:#27213f!important;color:#ddd3ff!important}
html[data-theme=dark] .admin-calendar[data-month-calendar] .calendar-event.available{border-color:#35c8b1!important;background:#172d2d!important;color:#d7f5ef!important}
html[data-theme=dark] .admin-calendar[data-month-calendar] .calendar-event.blocked{border-color:#7995ad!important;background:#1b2937!important;color:#d4e1ed!important}
html[data-theme=dark] .admin-calendar[data-month-calendar] .calendar-event.notice-expired{border-color:#7d899c!important;background:#202938!important;color:#c3cede!important}
html[data-theme=dark] .week-slot:not(.reserved):not(.available):not(.blocked):not(.notice-expired){background:#131d2b!important}
html[data-theme=dark] .week-slot:hover{background:#182538!important;box-shadow:inset 0 0 0 1px #47617f!important}
html[data-theme=dark] .week-day-heading.selected{background:#1d3048!important}
html[data-theme=dark] .week-day-heading.today{background:#1b2b40!important;color:#9bc4ee!important}
html[data-theme=dark] .calendar-agenda-list{background:#151f2e!important}
html[data-theme=dark] .calendar-agenda-item{border-color:#303c50!important}
html[data-theme=dark] .calendar-agenda-item .agenda-time-range i{background:#52647d!important}
html[data-theme=dark] .calendar-agenda-item-icon.is-booking{background:#203653!important;color:#83b5ff!important}
html[data-theme=dark] .calendar-agenda-item-icon.is-online{background:#30294c!important;color:#b5a3ff!important}
html[data-theme=dark] .calendar-agenda-item-icon.is-free{background:#183c38!important;color:#67d7c7!important}
html[data-theme=dark] .calendar-agenda-item-icon.is-blocked{background:#243546!important;color:#9db9d0!important}
html[data-theme=dark] .calendar-agenda-item-icon.is-notice-expired{background:#293241!important;color:#aebbd0!important}
html[data-theme=dark] .calendar-agenda-empty>span{background:#203653!important;color:#83b5ff!important}
html[data-theme=dark] .calendar-agenda-open-day>span:first-child{background:#203653!important;color:#91bfff!important}
html[data-theme=dark] .calendar-agenda-item>span:last-child{border-color:#40516a!important;background:#1b283b!important;color:#e5eef9!important}
html[data-theme=dark] .calendar-agenda-item.is-free>span:last-child{border-color:#315d59!important;background:#172d2d!important;color:#d7f5ef!important}
html[data-theme=dark] .calendar-agenda-item.is-blocked>span:last-child{border-color:#405064!important;background:#1b2937!important;color:#d4e1ed!important}
html[data-theme=dark] .calendar-agenda-item.is-notice-expired>span:last-child{border-color:#3d4859!important;background:#202938!important;color:#c3cede!important}

/* Widok dnia: stała, ciemna kolumna godzin i czytelne linie pełnych oraz półgodzin. */
.week-schedule.is-day{--week-time-column:58px;grid-template-columns:var(--week-time-column) minmax(0,1fr)}
.week-schedule.is-day .week-corner,
.week-schedule.is-day .week-time,
.week-schedule.is-day .week-break-time{width:var(--week-time-column);box-sizing:border-box}
.week-schedule.is-day .week-time{display:flex;align-items:flex-start;justify-content:center;padding:8px 4px 0;font-variant-numeric:tabular-nums;line-height:1}
html[data-theme=dark] .week-schedule.is-day .week-time,
html[data-theme=dark] .week-schedule.is-day .week-break-time{border-right-color:#506079!important;border-bottom-color:#303c50!important;background:#101927!important;color:#a9b8cc!important;box-shadow:1px 0 0 #506079!important}
html[data-theme=dark] .week-schedule.is-day .week-slot{border-right-color:#303c50!important;border-bottom-color:#303c50!important;background:#131d2b!important}

/* 0.14.1: precyzyjne wyrównanie nagłówka, statystyk i planu dnia w trybie ciemnym. */
html[data-theme=dark] .dashboard-title-row h1{color:#aebbd0!important}
html[data-theme=dark] .calendar-dashboard-stats .dashboard-load{background:#182334!important}
html[data-theme=dark] .calendar-agenda-summary{justify-content:flex-start!important;gap:18px}
html[data-theme=dark] .calendar-agenda-summary>span{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap}
html[data-theme=dark] .calendar-agenda-summary strong{color:#708198!important;font-weight:700}
.week-schedule:not(.is-day) .week-slot-patient strong{font-weight:500}

/* Widok dnia ma własny rytm półgodzinny; reguły nie obejmują poprawnego widoku tygodnia. */
.week-schedule.is-day .week-time,
.week-schedule.is-day .week-slot{border-bottom-color:#edf1f6}
html[data-theme=dark] .week-schedule.is-day .week-time,
html[data-theme=dark] .week-schedule.is-day .week-slot{border-bottom-color:#303c50!important}

/* 0.14.2: spójne, kontrastowe kolorboksy w miesiącu, tygodniu i dniu. */
.admin-calendar[data-month-calendar] .calendar-event.reserved{color:#244c78!important}
.admin-calendar[data-month-calendar] .calendar-event.available{color:#086f63!important}
.admin-calendar[data-month-calendar] .calendar-event.blocked{color:#3d5c78!important}
.admin-calendar[data-month-calendar] .calendar-event.notice-expired{color:#566276!important}
.week-slot.reserved .week-slot-content{border-left-color:currentColor;color:#244c78}
.week-slot.available .week-slot-content{border-left-color:currentColor;background:#def5f0;color:#086f63}
.week-slot.blocked .week-slot-content{border-left-color:currentColor;background:#e6f0f8;color:#3d5c78}
.week-slot.notice-expired .week-slot-content{border-left-color:currentColor;background:#eceff3;color:#566276}
.week-schedule.is-day .week-slot-content{top:5px;right:12px;bottom:auto;left:12px;height:max(48px,calc(var(--event-height,68px) - 10px));align-content:center;color:#244c78}
.week-schedule.is-day .week-slot.available .week-slot-content{border-color:#bde6de;border-left-color:currentColor;background:#def5f0;color:#086f63}
.week-schedule.is-day .week-slot.blocked .week-slot-content{border-color:#cbd9e5;border-left-color:currentColor;background:#e6f0f8;color:#3d5c78}
.week-schedule.is-day .week-slot.notice-expired .week-slot-content{border-color:#d5dbe3;border-left-color:currentColor;background:#eceff3;color:#566276}
.week-schedule.is-day .week-slot-hour,
.week-schedule.is-day .week-slot-status,
.week-schedule.is-day .week-slot-title,
.week-schedule.is-day .week-slot-service span,
.week-schedule.is-day .week-slot-patient strong,
.week-schedule.is-day .week-slot-patient span{color:inherit;opacity:1}
.calendar-agenda-actions{margin-top:auto}
html[data-theme=dark] .admin-calendar[data-month-calendar] .calendar-event,
html[data-theme=dark] .week-slot .week-slot-content{color:#d6e1ef!important}
html[data-theme=dark] .week-slot.available .week-slot-content{color:#c7eee7!important}
html[data-theme=dark] .week-slot.blocked .week-slot-content{color:#d0dfec!important}
html[data-theme=dark] .week-slot.notice-expired .week-slot-content{color:#c5d0df!important}

/* Plan dnia korzysta dokładnie z tej samej palety znaczeniowej co siatka. */
.calendar-agenda-item{color:color-mix(in srgb,var(--agenda-color,#4f83d7) 58%,#17233e)}
.calendar-agenda-item>span:last-child{border-left:3px solid currentColor;color:inherit}
.calendar-agenda-item-icon.is-booking{background:#e7f0ff;color:#244c78}
.calendar-agenda-item-icon.is-online{background:#eee9ff;color:#6549bc}
.calendar-agenda-item.is-free{color:#086f63}.calendar-agenda-item-icon.is-free{background:#def5f0;color:#086f63}
.calendar-agenda-item.is-blocked{color:#3d5c78}.calendar-agenda-item-icon.is-blocked{background:#e6f0f8;color:#3d5c78}
.calendar-agenda-item.is-notice-expired{color:#566276}.calendar-agenda-item-icon.is-notice-expired{background:#eceff3;color:#566276}
.calendar-agenda-item>span:last-child strong,
.calendar-agenda-item>span:last-child small{color:inherit}
html[data-theme=dark] .calendar-agenda-item{color:#d6e1ef}
html[data-theme=dark] .calendar-agenda-item.is-free{color:#c7eee7}
html[data-theme=dark] .calendar-agenda-item.is-blocked{color:#d0dfec}
html[data-theme=dark] .calendar-agenda-item.is-notice-expired{color:#c5d0df}

/* 0.14.4: kolor klienta według telefonu, wspólny dla trzech widoków. */
.admin-calendar[data-month-calendar] .calendar-event{border-left-color:currentColor!important}
.admin-calendar[data-month-calendar] .calendar-event.reserved{background:var(--appointment-bg,#f4f7fb);color:var(--appointment-color,#244c78)!important}
.week-schedule:not(.is-day) .week-slot-content{padding-left:8px;border-left-width:3px;border-left-color:currentColor!important}
.week-slot.reserved .week-slot-content{background:var(--appointment-bg,#f4f7fb);color:var(--appointment-color,#244c78)}
.week-schedule.is-day .week-slot.reserved .week-slot-content{border-left-color:currentColor;background:var(--appointment-bg,#f4f7fb);color:var(--appointment-color,#244c78)}
.calendar-agenda-item>span:last-child{border-left:0!important}
html[data-theme=dark] .admin-calendar[data-month-calendar] .calendar-event.reserved{background:color-mix(in srgb,var(--appointment-accent,#7655a8) 20%,#172334)!important;color:color-mix(in srgb,var(--appointment-accent,#7655a8) 42%,#eef4ff)!important}
html[data-theme=dark] .week-schedule .week-slot.reserved .week-slot-content{border-left-color:currentColor!important;background:color-mix(in srgb,var(--appointment-accent,#7655a8) 20%,#172334)!important;color:color-mix(in srgb,var(--appointment-accent,#7655a8) 42%,#eef4ff)!important}
html[data-theme=dark] .calendar-agenda-item:not(.is-free):not(.is-blocked):not(.is-notice-expired)>span:last-child{background:color-mix(in srgb,var(--agenda-color,#7655a8) 20%,#172334)!important;color:color-mix(in srgb,var(--agenda-color,#7655a8) 42%,#eef4ff)!important}

/* 0.14.6: precyzyjne interakcje siatki i popupy zgodne z panelem v2. */
.admin-calendar[data-month-calendar] .calendar-event{border-left-width:2px!important}
.calendar-agenda-item em{border-color:color-mix(in srgb,currentColor 72%,#17233e);color:inherit}
.week-slot.is-covered{pointer-events:none;cursor:default}
.week-slot.is-covered:hover{background:inherit;box-shadow:none}
.week-slot:not(.has-event):not(.is-covered)[data-hover-time]:hover::after{content:attr(data-hover-time);position:absolute;z-index:20;top:5px;left:6px;padding:4px 7px;border:1px solid #cdd9ea;border-radius:6px;background:#fff;color:#405674;box-shadow:0 5px 15px rgba(31,49,87,.13);font-size:10px;font-weight:700;line-height:1;pointer-events:none}
.day-details-drawer{align-items:center;justify-content:center;padding:18px}
.day-details-panel{width:min(780px,100%);height:auto;max-height:calc(100dvh - 36px);border:0;border-radius:18px;background:#fff;box-shadow:0 30px 90px rgba(20,32,59,.32)}
.day-details-modal-head{position:sticky;top:0;padding:20px 22px 17px;background:rgba(255,255,255,.97);backdrop-filter:blur(12px)}
.day-details-panel .details-column{padding:18px 22px 24px}
.day-details-panel .details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.day-details-panel .details{margin:0;padding:16px;border:1px solid #dce3ed;border-radius:13px;background:#fbfcfe}
.day-details-panel .details-place-group>h3{margin:10px 0 7px;color:#263750;font-size:12px}.day-details-panel .details-place-group:first-child>h3{margin-top:0}.day-details-panel .slot-item{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px}.day-details-panel .slot-actions{display:flex;align-items:center;gap:7px}.day-details-panel .slot-actions form{margin:0}.day-details-panel .occupied-label{white-space:nowrap}.day-details-panel .reservation-item{gap:5px;margin-bottom:10px}.day-details-panel .reservation-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:3px}.day-details-panel .reservation-actions form{margin:0}
.day-details-panel .details+.details{padding-left:16px;border-left:1px solid #dce3ed}
.details-entry{border:1px solid #e7ebf2;border-radius:9px;background:#fff}
.admin-modal{padding:20px}
.admin-modal-dialog{width:min(720px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;padding:24px;border-radius:18px;box-shadow:0 30px 90px rgba(20,32,59,.32)}
html[data-theme=dark] .week-slot:not(.has-event):not(.is-covered)[data-hover-time]:hover::after{border-color:#405069;background:#1b2839;color:#dce7f5;box-shadow:0 8px 20px rgba(0,0,0,.35)}
html[data-theme=dark] .day-details-panel .details{border-color:#3a485d;background:#121d2c}

/* Popup zarządzania terminem — układ formularzy jak w nowy-panel-v2. */
.slot-editor-v2{width:min(720px,100%)}
.slot-editor-v2 .slot-management-actions{display:grid;gap:10px}
.slot-availability-form{display:grid;grid-template-columns:minmax(210px,1.65fr) minmax(125px,.9fr) minmax(105px,.72fr) auto;gap:10px;align-items:end}
.slot-availability-form label{display:grid;gap:6px}
.slot-availability-form input,.slot-availability-form select,.slot-availability-form button{min-height:38px}
.slot-existing-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.slot-existing-actions form{display:inline-flex;margin:0}
.slot-action-summary,.reservation-target{padding:10px 12px;border:1px solid #dce5f3;border-radius:10px;background:#f5f8ff;color:#35577e;font-size:11px;font-weight:700}
.admin-reservation-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.admin-reservation-form h3,.admin-reservation-form .reservation-target,.admin-reservation-form .wide{grid-column:1/-1}
.admin-reservation-form label{display:grid;gap:6px}
.admin-reservation-form label:first-of-type{grid-column:1}
.admin-reservation-form>button{width:max-content}
.reservation-item{display:grid;gap:5px;padding:11px!important}
.reservation-item>span{font-size:10px}
.reservation-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.reservation-actions form{margin:0}
html[data-theme=dark] .slot-action-summary,html[data-theme=dark] .reservation-target{border-color:#40516a;background:#1a293d;color:#c4d8ef}

/* 0.15.0: czytelne podpowiedzi, pastelowe rezerwacje i przyciski referencyjne. */
.patient-suggestion-menu{position:fixed;z-index:180;display:grid;overflow:hidden;border:1px solid #405572;border-radius:10px;background:#17243a;color:#f3f7ff;box-shadow:0 18px 44px rgba(10,24,48,.38)}
.patient-suggestion-menu[hidden]{display:none}.patient-suggestion-menu button{display:grid;gap:2px;width:100%;padding:10px 12px;border:0;border-bottom:1px solid #334761;background:#17243a;color:#f3f7ff;text-align:left}.patient-suggestion-menu button:last-child{border-bottom:0}.patient-suggestion-menu button:hover,.patient-suggestion-menu button:focus{background:#24466f;outline:0}.patient-suggestion-menu strong{font-size:12px}.patient-suggestion-menu small{color:#bdd0e8;font-size:10px}
.admin-calendar[data-month-calendar] .calendar-event.reserved,.week-slot.reserved .week-slot-content{background:color-mix(in srgb,var(--appointment-accent,#4f83d7) 14%,#f7fbff)!important;color:color-mix(in srgb,var(--appointment-accent,#315f9b) 72%,#10213b)!important}
.calendar-agenda-item:not(.is-free):not(.is-blocked):not(.is-notice-expired)>span:last-child{background:color-mix(in srgb,var(--agenda-color,#4f83d7) 14%,#f7fbff)!important;color:color-mix(in srgb,var(--agenda-color,#315f9b) 72%,#10213b)!important}
.slot-editor-v2 .slot-existing-actions button,.slot-editor-v2 [data-slot-save-availability],.slot-editor-v2 .admin-reservation-form>button{border:1px solid #cfdbeb!important;background:#e9f2fd!important;color:#183f6b!important}.slot-editor-v2 .slot-existing-actions button.secondary{background:#fff!important;color:#183f6b!important}.slot-editor-v2 .slot-existing-actions button.danger{border-color:#ffb7b2!important;background:#fff!important;color:#c5261b!important}
.day-details-panel .slot-actions button,.day-details-panel .reservation-actions button.secondary{border:1px solid #cfdbeb!important;background:#fff!important;color:#183f6b!important}.day-details-panel .slot-actions button.danger,.day-details-panel .reservation-actions button.danger{border-color:#ffb7b2!important;background:#fff!important;color:#c5261b!important}
.slot-action-summary:not([hidden]){display:block;margin:0 0 8px;padding:10px 11px;border:1px solid #cdd9eb;border-radius:9px;background:#fff;color:#315b88;font-size:10px;font-weight:700}

/* 0.15.1: jaśniejsze rezerwacje, wspólna blokada i spójna godzina. */
.week-schedule:not(.is-day) .week-slot-hour{color:inherit!important}
.week-slot.blocked .week-slot-hour{text-decoration:line-through}
.admin-calendar[data-month-calendar] .calendar-event.reserved,.week-slot.reserved .week-slot-content{background:color-mix(in srgb,var(--appointment-accent,#4f83d7) 6%,#f8f7f8)!important;color:color-mix(in srgb,var(--appointment-accent,#315f9b) 76%,#162944)!important}
.calendar-agenda-item:not(.is-free):not(.is-blocked):not(.is-notice-expired)>span:last-child{background:color-mix(in srgb,var(--agenda-color,#4f83d7) 6%,#f8f7f8)!important;color:color-mix(in srgb,var(--agenda-color,#315f9b) 76%,#162944)!important}
.slot-editor-v2 .slot-management-actions:has(.slot-action-summary:not([hidden])){margin-bottom:0}
@media(max-width:720px){.slot-availability-form{grid-template-columns:1fr 1fr}.slot-availability-form>button{grid-column:1/-1}.admin-reservation-form{grid-template-columns:1fr}.admin-reservation-form>*{grid-column:1!important}}

/* 0.14.9: pełna wysokość planu dnia i referencyjne popupy. */
.calendar-agenda-v3{min-height:100%}.calendar-agenda-list{max-height:none;overflow:visible}.calendar-agenda-actions{margin-top:auto;background:#fff}
.admin-calendar[data-month-calendar] .calendar-event.reserved,.week-slot.reserved .week-slot-content{background:color-mix(in srgb,var(--appointment-accent,#4f83d7) 24%,#fff)!important;color:color-mix(in srgb,var(--appointment-accent,#315f9b) 78%,#10213b)!important}
.calendar-agenda-item:not(.is-free):not(.is-blocked):not(.is-notice-expired)>span:last-child{background:color-mix(in srgb,var(--agenda-color,#4f83d7) 24%,#fff)!important;color:color-mix(in srgb,var(--agenda-color,#315f9b) 78%,#10213b)!important}
.slot-editor-v2{width:min(720px,calc(100% - 32px));padding:25px 24px 26px;border:0;border-radius:17px;box-shadow:0 28px 78px rgba(20,32,59,.34)}
.slot-editor-v2>h2{margin:0;color:#17233e;font-size:21px;line-height:1.15}.slot-editor-v2>.slot-modal-status{margin:4px 0 17px;color:#64738d;font-size:10px}
.slot-editor-v2 .slot-management-actions{gap:8px;padding:13px;border:1px solid #d8e2f0;border-radius:13px;background:#f7f9fd}
.slot-editor-v2 .slot-availability-form{grid-template-columns:minmax(235px,1.7fr) minmax(130px,.9fr) minmax(110px,.75fr) auto;gap:9px}
.slot-editor-v2 label{color:#596984;font-size:9px;font-weight:700}.slot-editor-v2 input,.slot-editor-v2 select{height:34px;min-height:34px;padding:6px 10px;border:1px solid #d5dfed;border-radius:8px;background:#fff;color:#17233e;font-size:11px;font-weight:700}.slot-editor-v2 button{min-height:34px;padding:7px 11px;border:1px solid #d1dceb;border-radius:8px;background:#e9f2fd;color:#234e7d;font-size:10px;font-weight:700}.slot-editor-v2 button.secondary{background:#fff;color:#183f6b}.slot-editor-v2 button.danger{border-color:#ffb7b2;background:#fff;color:#c5261b}
.slot-editor-v2 .slot-existing-actions{margin-top:0}.slot-editor-v2 .admin-reservation-form{gap:11px 12px;margin-top:25px}.slot-editor-v2 .admin-reservation-form h3{margin:0 0 2px;color:#263750;font-size:13px}.slot-editor-v2 .reservation-target{padding:9px 11px;border-color:#ccd9ed;border-radius:9px;background:#f2f6ff;color:#315b88;font-size:10px}.slot-editor-v2 .admin-reservation-form>button{background:#e9f2fd;color:#183f6b}
.day-details-panel .slot-actions button{min-height:34px;padding:7px 11px;border:1px solid #d5dfed;border-radius:8px;background:#fff;color:#193f6b;font-size:9px;font-weight:700}.day-details-panel .slot-actions button.danger,.day-details-panel .reservation-actions button.danger{border-color:#ffb8b4;background:#fff;color:#c9261b}.day-details-panel .reservation-actions button.secondary{border:1px solid #d5dfed;background:#fff;color:#193f6b}

/* 0.15.3: wspólna, jednoznaczna paleta terminów we wszystkich widokach. */
html:not([data-theme=dark]) .admin-calendar[data-month-calendar] .calendar-event.available,
html:not([data-theme=dark]) .week-slot.available .week-slot-content{background:#E7F8F5!important;border-color:#b9ddd7!important;border-left-color:currentColor!important;color:#176d65!important}
html:not([data-theme=dark]) .admin-calendar[data-month-calendar] .calendar-event.blocked,
html:not([data-theme=dark]) .week-slot.blocked .week-slot-content{background:#ECF5FC!important;border-color:#c2d8e9!important;border-left-color:currentColor!important;color:#466982!important}
html:not([data-theme=dark]) .admin-calendar[data-month-calendar] .calendar-event.notice-expired,
html:not([data-theme=dark]) .week-slot.notice-expired .week-slot-content{background:#F4F6F8!important;border-color:#dce2e8!important;border-left-color:currentColor!important;color:#657184!important}
html:not([data-theme=dark]) .calendar-agenda-item.is-free>span:last-child{background:#E7F8F5!important;border-color:#b9ddd7!important;color:#176d65!important}
html:not([data-theme=dark]) .calendar-agenda-item.is-blocked>span:last-child{background:#ECF5FC!important;border-color:#c2d8e9!important;color:#466982!important}
html:not([data-theme=dark]) .calendar-agenda-item.is-notice-expired>span:last-child{background:#F4F6F8!important;border-color:#dce2e8!important;color:#657184!important}
html:not([data-theme=dark]) .calendar-agenda-item-icon.is-free{background:#E7F8F5!important;color:#176d65!important}
html:not([data-theme=dark]) .calendar-agenda-item-icon.is-blocked{background:#ECF5FC!important;color:#466982!important}
html:not([data-theme=dark]) .calendar-agenda-item-icon.is-notice-expired{background:#F4F6F8!important;color:#657184!important}

/* Rezerwacje pozostają pastelowe i wyraźnie jaśniejsze od elementów sterujących. */
html:not([data-theme=dark]) .admin-calendar[data-month-calendar] .calendar-event.reserved,
html:not([data-theme=dark]) .week-slot.reserved .week-slot-content{background:color-mix(in srgb,var(--appointment-accent,#4f83d7) 7%,#fcfdff)!important;color:color-mix(in srgb,var(--appointment-accent,#315f9b) 76%,#162944)!important}
html:not([data-theme=dark]) .calendar-agenda-item:not(.is-free):not(.is-blocked):not(.is-notice-expired)>span:last-child{background:color-mix(in srgb,var(--agenda-color,#4f83d7) 7%,#fcfdff)!important;color:color-mix(in srgb,var(--agenda-color,#315f9b) 76%,#162944)!important}

/* Safari potrafi nadpisać hidden przez display:grid formularza. */
.slot-editor-v2 [hidden]{display:none!important}

/* 0.15.4: czytelniejsza typografia miesiąca/tygodnia i równy formularz terminu. */
@media(min-width:681px){
  .admin-calendar[data-month-calendar] .calendar-event{font-size:11px;line-height:1.15}
  .admin-calendar[data-month-calendar] .calendar-event-value{font-weight:500}
  .week-schedule:not(.is-day) .week-slot-hour,
  .week-schedule:not(.is-day) .week-slot-title,
  .week-schedule:not(.is-day) .week-slot-service strong,
  .week-schedule:not(.is-day) .week-slot-service span,
  .week-schedule:not(.is-day) .week-slot-patient strong,
  .week-schedule:not(.is-day) .week-slot-patient span{font-size:11px}
  .week-schedule:not(.is-day) .week-slot-hour{font-weight:500}
}
.slot-editor-v2{width:min(780px,calc(100% - 32px))}
.slot-editor-v2>.slot-modal-status{font-size:11px}
.slot-editor-v2 label{font-size:10px}
.slot-editor-v2 input,.slot-editor-v2 select,.slot-editor-v2 button,
.slot-editor-v2 .reservation-target,.slot-editor-v2 .slot-action-summary{font-size:11px}
.slot-editor-v2 .slot-availability-form{grid-template-columns:minmax(285px,2fr) minmax(130px,.85fr) minmax(110px,.72fr) auto;align-items:end}
.slot-editor-v2 .slot-availability-form>button{height:34px;min-height:34px;align-self:end;margin:0}
@media(max-width:720px){.slot-editor-v2 .slot-availability-form{grid-template-columns:1fr 1fr}.slot-editor-v2 .slot-availability-form>button{grid-column:1/-1}}

/* 0.15.5: wspólny edytor wizyt i niezmienna godzina klikniętego slotu. */
.slot-editor-v2 .slot-availability-form{grid-template-columns:240px minmax(130px,.85fr) minmax(110px,.72fr) auto}
.slot-editor-v2 .slot-availability-form>label:first-of-type{width:240px;max-width:100%}
.slot-editor-v2 input.is-time-locked{cursor:not-allowed;background:#f1f5fa;color:#52647d}
.slot-editor-v2 .admin-modal-close{display:grid!important;place-items:center!important;width:38px;height:38px;min-height:38px;padding:0!important;line-height:0}
.slot-editor-v2 .admin-modal-close .ui-icon{display:block;width:18px;height:18px;margin:0}
html[data-theme=dark] .slot-editor-v2 input.is-time-locked{border-color:#405069;background:#192536;color:#9bacc2}
@media(max-width:560px){
  .admin-modal{padding:8px;align-items:start}
  .slot-editor-v2{width:100%;max-height:calc(100dvh - 16px);margin:0;padding:20px 16px 24px;border-radius:15px}
  .slot-editor-v2>h2{max-width:calc(100% - 42px);font-size:20px;line-height:1.2}
  .slot-editor-v2 .slot-availability-form{grid-template-columns:minmax(0,1fr);gap:12px}
  .slot-editor-v2 .slot-availability-form>*{grid-column:1!important;width:100%!important;max-width:none!important}
  .slot-editor-v2 .slot-availability-form input,.slot-editor-v2 .slot-availability-form select,.slot-editor-v2 .slot-availability-form button,
  .slot-editor-v2 .admin-reservation-form input,.slot-editor-v2 .admin-reservation-form select,.slot-editor-v2 .admin-reservation-form button{min-height:44px;height:44px;font-size:12px}
  .slot-editor-v2 .slot-management-actions{padding:12px}
  .slot-editor-v2 .admin-reservation-form{margin-top:20px}
  .slot-editor-v2 .reservation-target{font-size:11px;line-height:1.55}
}
html[data-theme=dark] .calendar-agenda-actions{background:#151f2e}

/* 0.15.7: powielanie pełnej zawartości ostatniego zapisanego dnia tygodnia. */
.day-details-panel .details-head{align-items:flex-start;margin-bottom:13px}.day-details-panel .details-head h3{margin:2px 0 0}.repeat-day-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.day-details-panel .repeat-day-actions button{min-height:34px;padding:7px 10px;border:1px solid #cfdbeb;border-radius:8px;background:#e9f2fd;color:#183f6b;font-size:10px;font-weight:700}.day-details-panel .repeat-day-actions button.secondary{background:#fff}.repeat-day-dialog{width:min(540px,100%)!important}.repeat-day-dialog>p{max-width:440px;margin:0 0 16px;color:#74809a;font-size:11px;line-height:1.55}.repeat-day-dialog form{display:grid;gap:14px}.repeat-day-dialog label{display:grid;gap:6px}.repeat-day-dialog .compact-number{width:110px}.repeat-day-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:4px}.repeat-day-dialog .admin-modal-close{display:grid!important;place-items:center!important;padding:0!important;line-height:0}.repeat-day-dialog .admin-modal-close .ui-icon{display:block;width:18px;height:18px;margin:0}
html[data-theme=dark] .day-details-panel .repeat-day-actions button,html[data-theme=dark] .repeat-day-dialog button.secondary{border-color:#405069;background:#172334;color:#dbe6f5}html[data-theme=dark] .day-details-panel .repeat-day-actions button:not(.secondary),html[data-theme=dark] .repeat-day-dialog button[type=submit]{border-color:#4776a7;background:#356a9e;color:#fff}html[data-theme=dark] .repeat-day-dialog>p{color:#a9b8cc}
@media(max-width:680px){.day-details-panel .details-head{display:grid}.repeat-day-actions{justify-content:flex-start}.repeat-day-actions button{flex:1 1 auto}.repeat-day-modal-actions{display:grid;grid-template-columns:1fr 1fr}.repeat-day-modal-actions button{width:100%}}
.day-details-panel .details-entry,.day-details-panel .details-head button,.day-details-panel .repeat-day-actions button{font-size:11px}
