.pf-calendar{--cal-line:#dce5eb;--cal-surface:#fff;--cal-text:#172d42;--cal-muted:#657789;color:var(--cal-text);max-width:1600px;margin:auto}.cal-header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:8px 0 24px}.cal-header h1{font-size:30px;margin:3px 0 6px}.cal-header p{color:var(--cal-muted);margin:0}.cal-eyebrow{font-size:11px;letter-spacing:.14em;font-weight:750}.cal-tools,.cal-month-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.cal-month-nav h2{font-size:20px;min-width:185px;text-align:center;margin:0;text-transform:capitalize}.cal-button{border:1px solid var(--cal-line);background:var(--cal-surface);color:var(--cal-text);border-radius:9px;padding:9px 13px;cursor:pointer;min-height:40px}.cal-tools .cal-button:first-child{background:#286e78;color:white;border-color:#286e78}.cal-scope{display:flex;gap:8px;align-items:center;font-size:13px}.cal-scope select{max-width:220px;border:1px solid var(--cal-line);border-radius:8px;padding:8px;background:var(--cal-surface);color:inherit}.cal-privacy,.cal-footnote{font-size:12px;line-height:1.6;color:var(--cal-muted)}.cal-privacy{padding:10px 12px;background:#edf5f5;border-radius:8px}.cal-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.cal-month,.cal-agenda{background:var(--cal-surface);border:1px solid var(--cal-line);border-radius:15px;overflow:hidden}.cal-weekdays,.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-weekdays{background:#f5f8fa;border-bottom:1px solid var(--cal-line);text-align:center;font-size:12px;font-weight:650;padding:12px 0}.cal-day{min-width:0;height:116px;display:flex;align-items:stretch;flex-direction:column;border:0;border-right:1px solid var(--cal-line);border-bottom:1px solid var(--cal-line);padding:7px;background:transparent;text-align:left;color:inherit;cursor:pointer}.cal-day:nth-child(7n){border-right:0}.cal-day.outside{background:#f8fafb;color:#7f8d9a}.cal-day.selected{box-shadow:inset 0 0 0 2px #286e78;background:#edf6f6}.cal-date{display:grid;place-items:center;width:26px;height:26px;font-size:13px;border-radius:50%}.cal-day.today .cal-date{background:#286e78;color:white;font-weight:bold}.cal-cell-events{display:grid;gap:3px;margin-top:3px;overflow:hidden}.cal-chip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:4px;background:#e9e5f7;border-left:3px solid #8069ae;padding:2px 3px;font-size:10px;color:#28354b}.cal-chip.work{background:#dcefeb;border-color:#2c8a77}.cal-chip.assignment{background:#e0eaf7;border-color:#497db8}.cal-chip.absence{background:#eceff1;border-color:#89929a}.cal-cell-events small{font-size:10px}.cal-legend{display:flex;gap:12px;flex-wrap:wrap;padding:13px;font-size:11px;color:var(--cal-muted)}.cal-legend span{display:flex;align-items:center;gap:5px}.cal-legend i,.cal-dots i{width:7px;height:7px;border-radius:50%;background:#8069ae;display:inline-block}.cal-legend i.work,.cal-dots i.work{background:#2c8a77}.cal-legend i.assignment,.cal-dots i.assignment{background:#497db8}.cal-legend i.absence,.cal-dots i.absence{background:#89929a}.cal-dots{display:none}.cal-agenda{padding:16px}.cal-agenda-title{display:flex;align-items:center;gap:8px;justify-content:space-between;margin-bottom:18px}.cal-agenda h2{font-size:16px;margin:0}.cal-agenda-row{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;color:inherit;background:#f8f6fc;border:0;border-left:3px solid #8069ae;border-radius:7px;padding:12px;margin:9px 0;cursor:pointer}.cal-agenda-row.work{background:#eff8f5;border-color:#2c8a77}.cal-agenda-row.assignment{background:#eff4fb;border-color:#497db8}.cal-agenda-row.absence{background:#f2f4f5;border-color:#89929a}.cal-agenda-row:disabled{opacity:1;cursor:default}.cal-agenda-row small,.cal-event-time{font-size:12px;color:var(--cal-muted)}.cal-empty{text-align:center;padding:35px 10px;color:var(--cal-muted)}.cal-empty>span{font-size:35px}.cal-empty h3{font-size:15px}.cal-empty p{font-size:13px;line-height:1.6}.cal-notice{padding:12px;border-radius:8px;background:#fff6de;font-size:13px}.cal-dialog{border:0;border-radius:16px;padding:0;width:min(660px,calc(100% - 24px));max-height:90dvh;box-shadow:0 25px 90px #10253455;color:var(--cal-text,#172d42)}.cal-dialog::backdrop{background:#10253477}.cal-dialog header,.cal-dialog footer{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:17px 20px;background:#f6f9fa}.cal-dialog header h2{margin:0;font-size:20px}.cal-close{border:0;background:transparent;font-size:26px;cursor:pointer}.cal-form-body{padding:20px}.cal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.cal-form-grid .field{display:flex;flex-direction:column;gap:7px;font-size:13px}.cal-form-grid input,.cal-form-grid select,.cal-form-grid textarea,.cal-form-body input[type=file]{width:100%;box-sizing:border-box;border:1px solid #ccd8e1;border-radius:8px;padding:10px;color:inherit;background:#fff;font:inherit}.cal-wide{grid-column:1/-1}.cal-check{font-size:13px;display:flex;gap:7px;align-items:center}.cal-check input{width:17px}.cal-dialog .error{color:#a33131}.cal-dialog footer{justify-content:flex-end}.cal-dialog .button.primary{background:#286e78;color:white}.cal-day:focus-visible,.cal-button:focus-visible,.cal-agenda-row:focus-visible{outline:3px solid #df9e3d;outline-offset:2px}[data-theme=dark] .pf-calendar{--cal-line:#3c4f60;--cal-surface:#203447;--cal-text:#edf4f8;--cal-muted:#b4c5d2}[data-theme=dark] .cal-weekdays,[data-theme=dark] .cal-day.outside{background:#1c3041}[data-theme=dark] .cal-day.selected,[data-theme=dark] .cal-privacy{background:#25474b}[data-theme=dark] .cal-agenda-row{color:#172d42}@media(max-width:1050px){.cal-layout{grid-template-columns:minmax(0,1fr)}.cal-agenda{min-height:150px}.cal-agenda-row{display:inline-flex;width:calc(50% - 8px);vertical-align:top;margin-right:7px}.cal-day{height:100px}}@media(max-width:600px){.cal-header{display:block;margin:4px 0 17px}.cal-header h1{font-size:25px}.cal-header>div>p:not(.cal-eyebrow){font-size:13px}.cal-tools{margin-top:14px}.cal-toolbar{align-items:stretch;flex-direction:column}.cal-month-nav{justify-content:space-between;gap:4px;flex-wrap:nowrap}.cal-month-nav h2{font-size:17px;min-width:0;flex:1}.cal-month-nav .cal-button{padding:7px 10px}.cal-scope{justify-content:space-between}.cal-scope select{max-width:75%;flex:1}.cal-layout{gap:14px}.cal-weekdays{font-size:11px;padding:9px 0}.cal-day{height:66px;padding:5px 2px;align-items:center}.cal-cell-events{display:none}.cal-dots{display:flex;gap:3px;margin-top:8px;flex-wrap:wrap;justify-content:center}.cal-dots i{width:5px;height:5px}.cal-date{font-size:12px;width:25px;height:25px}.cal-legend{gap:8px;padding:10px;font-size:10px}.cal-agenda{padding:14px}.cal-agenda-row{display:flex;width:100%;margin-right:0;box-sizing:border-box}.cal-form-grid{grid-template-columns:1fr}.cal-wide{grid-column:auto}.cal-form-body{padding:16px}.cal-dialog{max-height:92dvh}.cal-footnote{font-size:11px}.cal-eyebrow{font-size:10px!important}}

.live-calendar-busy{position:absolute;bottom:2px;left:3px;right:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;color:#725193;background:#eee7f7;border-radius:3px;padding:1px 3px;pointer-events:none}.cal-form-body hr{border:0;border-top:1px solid #dce5eb;margin:22px 0}

.cal-view-switch{display:inline-flex;padding:4px;gap:3px;background:#eaf0f3;border-radius:11px;margin-bottom:18px}.cal-view-switch .cal-button{border-color:transparent;background:transparent;min-width:105px}.cal-view-switch [aria-pressed=true]{background:#fff;box-shadow:0 2px 7px #172d4218;font-weight:700}.cal-daily{background:var(--cal-surface);border:1px solid var(--cal-line);border-radius:15px;overflow:hidden}.cal-daily>header{padding:17px 20px;display:flex;gap:12px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--cal-line)}.cal-daily>header h2{font-size:18px;margin:0}.cal-daily>header label{font-size:11px;display:flex;align-items:center;gap:9px}.cal-daily input{border:1px solid var(--cal-line);border-radius:7px;padding:8px;font:inherit}.cal-hours-scroll{max-height:650px;overflow:auto;position:relative}.cal-hours{height:1152px;position:relative;margin-top:12px}.cal-hour{position:absolute;left:0;right:0;height:48px;border-top:1px solid var(--cal-line);margin-left:56px}.cal-hour>span{position:absolute;left:-50px;top:-8px;font-size:11px;color:var(--cal-muted);padding:2px;background:var(--cal-surface)}.cal-timeline-event{position:absolute;min-height:30px;z-index:1}.cal-timeline-event .cal-agenda-row{height:100%;width:100%;margin:0;padding:5px 8px;box-sizing:border-box;overflow:hidden;gap:3px;font-size:12px}.cal-timeline-event .cal-agenda-row small{font-size:10px}.cal-all-day{display:flex;padding:12px;gap:14px;border-bottom:1px solid var(--cal-line);font-size:12px}.cal-all-day>strong{font-size:11px;min-width:60px;padding-top:10px}.cal-all-day>div{display:flex;gap:8px;flex-wrap:wrap;flex:1}.cal-all-day .cal-agenda-row{width:auto;min-width:120px;margin:0}.cal-daily>.cal-footnote{padding:0 16px}[data-theme=dark] .cal-view-switch{background:#253d50}[data-theme=dark] .cal-view-switch [aria-pressed=true]{background:#385a70;color:#fff}@media(max-width:600px){.cal-daily>header{padding:13px;align-items:start;flex-direction:column}.cal-hours-scroll{max-height:65vh}.cal-timeline-event .cal-agenda-row{padding:4px;font-size:11px}.cal-all-day{gap:7px}.cal-all-day>strong{min-width:47px}.cal-view-switch{display:flex}.cal-view-switch .cal-button{flex:1}}

.cal-chip.todo{background:#fff2d9;border-color:#c38c31}.cal-agenda-row.todo{background:#fff7e8;border-color:#c38c31}.cal-dots i.todo{background:#c38c31}.todo-today-list{padding-left:20px;line-height:1.8;font-size:14px}

/* Employee mobile presentation; desktop management controls retain their layout. */
.cal-mobile .cal-tools .cal-overflow{width:44px;min-width:44px;height:44px;padding:0;font-size:26px;line-height:1;background:var(--cal-surface);color:var(--cal-text);border-color:var(--cal-line)}
.cal-mobile .cal-view-switch{display:flex;padding:4px;gap:3px;border:1px solid #cbd5dd;border-radius:13px;background:#e5e9ed;box-shadow:none}
.cal-mobile .cal-view-switch .cal-button{flex:1;min-width:0;min-height:44px;border:0;border-radius:9px;background:transparent;color:#586d7e;font-weight:650;box-shadow:none}
.cal-mobile .cal-view-switch .cal-button[aria-pressed=true]{background:var(--action,var(--primary,#087e83));color:#fff;box-shadow:none}
.cal-mobile-dialog .cal-form-grid{grid-template-columns:minmax(0,1fr)}
.cal-mobile-dialog .cal-form-grid .field,.cal-mobile-dialog .cal-form-body{min-width:0}
.cal-mobile-dialog input[type=date],.cal-mobile-dialog input[type=datetime-local]{display:block;min-width:0;max-width:100%;width:100%;box-sizing:border-box;-webkit-appearance:none;appearance:none}
.cal-mobile-dialog input::-webkit-date-and-time-value{min-width:0;text-align:left}

/* The month is a calm, full-width overview; details open only for a chosen day. */
.pf-calendar{--cal-line:#d2e2e5;--cal-text:#173344;--cal-muted:#5c7480;max-width:1640px}
.cal-layout{grid-template-columns:minmax(0,1fr);gap:18px}.cal-day{height:clamp(86px,9vw,132px);padding:12px;position:relative;background:#fff}.cal-date{font-size:19px;font-weight:650;width:34px;height:34px}.cal-day:nth-child(7n),.cal-day:nth-child(7n-1){background:#f1f6f6}.cal-day.outside{background:#f7fafa;color:#9badb4}.cal-day.selected{background:#e1f3f2;box-shadow:inset 0 0 0 2px #087e83}.cal-day:hover{background:#edf8f7}.cal-day.today .cal-date{background:#087e83;color:#fff}.cal-weekdays{font-size:13px;background:#e9f2f3;color:#315b64}.cal-cell-events{display:none}.cal-dots{display:flex;gap:5px;margin-top:14px;flex-wrap:wrap;justify-content:flex-start}.cal-dots i{width:8px;height:8px}.cal-legend i.personal,.cal-dots i.personal{background:#287e89}.cal-legend i.work,.cal-dots i.work{background:#173c53}.cal-legend i.absence,.cal-dots i.absence{background:#a4afb8}.cal-more{position:absolute;bottom:10px;right:11px;font-size:11px;color:#557780}.cal-select-hint{padding:8px 2px;margin:0;color:var(--cal-muted);font-size:13px}.cal-view-switch{display:inline-flex;border:1px solid #ccdadf;background:#e5ecef;padding:4px}.cal-view-switch .cal-button{font-weight:650;color:#526b77;border-radius:8px;box-shadow:none}.cal-view-switch .cal-button[aria-pressed=true]{background:#087e83;color:#fff;box-shadow:none}.cal-tools .cal-overflow,.cal-tools [data-action=cal-transfer]{width:42px;min-width:42px;height:42px;padding:0;font-size:25px;line-height:1}.cal-agenda{display:block;padding:18px}.cal-agenda-row{display:inline-flex;width:calc(50% - 8px);box-sizing:border-box;vertical-align:top;background:#eef6f7;border-color:#287e89}.cal-agenda-row.work{background:#edf3f8;border-color:#173c53}.cal-privacy{font-size:12px;background:#edf5f5}.cal-header{margin-bottom:18px}.cal-header h1{font-size:28px}.cal-agenda-title h2{font-size:18px}
@media(max-width:650px){.cal-day{height:82px;padding:8px 3px;align-items:center}.cal-date{font-size:17px;width:31px;height:31px}.cal-dots{justify-content:center;gap:4px;margin-top:10px}.cal-dots i{width:6px;height:6px}.cal-more{bottom:5px;right:5px;font-size:10px}.cal-agenda-row{width:100%;margin-right:0}.cal-weekdays{font-size:12px}.cal-view-switch{display:flex}.cal-view-switch .cal-button{flex:1}.cal-header h1{font-size:25px}}
[data-theme=dark] .cal-day{background:#203447}[data-theme=dark] .cal-day.outside,[data-theme=dark] .cal-day:nth-child(7n),[data-theme=dark] .cal-day:nth-child(7n-1){background:#1b3040}[data-theme=dark] .cal-day.selected,[data-theme=dark] .cal-day:hover{background:#254b50}

/* Company day events use the existing row space and stay readable in narrow days. */
.live-day-event-bar{grid-row:1;align-self:center;z-index:3;margin:3px 2px;max-height:42px;min-height:36px;min-width:0;width:auto;border:1px solid #b4d0d3;border-radius:5px;background:#d9eeed;color:#234d55;padding:3px 4px;font-size:10px;font-weight:650;line-height:1.2;text-align:center;overflow:hidden;cursor:pointer}.live-day-event-bar>span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;white-space:normal;overflow:hidden;overflow-wrap:anywhere;hyphens:auto}.live-day-event-bar:hover{background:#c4e4e2}.live-day-event-bar:focus-visible{outline:2px solid #087e83;outline-offset:1px}.live-bar.single-day{padding-left:4px;padding-right:4px}.live-bar.single-day strong{font-size:9px;white-space:normal;overflow-wrap:anywhere;line-height:1.1;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.live-bar.single-day small{font-size:8px;line-height:1.1}

/* Holidays remain legible at every month size, including year-spanning grids. */
.cal-day.is-holiday{background:#fff2e8;color:#7b4c25}.cal-day.is-holiday:hover,.cal-day.is-holiday.selected{background:#fce6d5}.cal-day.is-holiday .cal-date{font-weight:750}.cal-holiday-name{font-size:11px;font-weight:650;line-height:1.25;margin-top:5px;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}.cal-legend i.holiday{background:#be8552}.cal-holiday-banner{display:flex;align-items:center;padding:12px 16px;background:#fff0e3;border:1px solid #e8c5a7;color:#7b4c25;border-radius:10px;margin-bottom:12px;font-size:14px;font-weight:650}.cal-icon-button{display:grid;place-items:center;padding:9px;width:42px;min-width:42px}.cal-icon-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}[data-theme=dark] .cal-day.is-holiday,[data-theme=dark] .cal-holiday-banner{background:#463a32;color:#f1c89f}[data-theme=dark] .cal-day.is-holiday.selected{background:#60493a}@media(max-width:650px){.cal-holiday-name{font-size:9px;margin-top:2px;max-width:100%;-webkit-line-clamp:2}.cal-day.is-holiday .cal-dots{margin-top:4px}}

/* Keep the review and save controls reachable in long recurrence forms. */
.cal-dialog[open]{overflow:hidden}.cal-dialog>form{display:flex;flex-direction:column;max-height:inherit;margin:0}.cal-dialog>form>.cal-form-body{min-height:0;overflow:auto}.cal-dialog>form>header,.cal-dialog>form>footer{flex-shrink:0}
