.day-off-page{width:100%;max-width:none;margin:0;padding:12px 0 40px;color:#173f43}section.day-off-page{padding-top:0}.day-off-card-title,.day-off-heading,.day-off-list-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.day-off-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.day-off-withdraw-button{border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#8b4138;padding:5px 9px;font-size:11px;font-weight:700;line-height:1.1;cursor:pointer}.day-off-withdraw-button:hover:not(:disabled){background:#fff4f2;border-color:#d88a80}.day-off-withdraw-button:focus-visible{outline:3px solid #fca5a5;outline-offset:2px}.day-off-withdraw-button:disabled{opacity:.65;cursor:wait}.day-off-heading{margin-bottom:28px}.day-off-heading h2{font-size:30px;margin:4px 0 8px;letter-spacing:-.7px}.day-off-form p,.day-off-heading p{line-height:1.6}.day-off-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}.day-off-layout.review-only{grid-template-columns:1fr;max-width:none}.day-off-card,.day-off-form{padding:26px;border-radius:16px;border:1px solid #dce8e4;background:#fff}.day-off-form{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-flow:row;gap:16px}.day-off-form>*{grid-column:1/-1;min-width:0}.day-off-form .day-off-calendar-hint{display:block;width:100%;margin:0;font-size:12px}.day-off-card h3,.day-off-form h3{margin:0;font-size:19px}.day-off-decision label,.day-off-form label{display:grid;gap:8px;font-size:14px;font-weight:600}.day-off-field-title{display:inline-flex;align-items:baseline;gap:4px}.day-off-page input:not([type=radio]):not([type=checkbox]),.day-off-page select,.day-off-page textarea{width:100%;min-height:42px;padding:10px 12px;border:1px solid #becfca;border-radius:8px;background:#fff;color:#173f43;font:inherit}.day-off-page :is(input,select,textarea,button):focus-visible{outline:3px solid #72b3a7;outline-offset:3px}.day-off-page :disabled{opacity:.6;cursor:not-allowed}.day-off-page fieldset{border:0;padding:0;margin:0;min-width:0;display:grid;gap:16px}.day-off-page legend{font-weight:600;font-size:14px;margin-bottom:12px}.day-off-session-list{display:grid;max-height:360px;overflow-y:auto;border:1px solid #dce8e4;border-radius:10px}.day-off-form .day-off-session-option{display:flex;align-items:center;gap:12px;padding:14px;cursor:pointer;border-bottom:1px solid #e3eae5}.day-off-session-option:last-child{border-bottom:0}.day-off-session-option:has(input:checked){background:#f0f6f2}.day-off-session-option:has(input:focus-visible){outline:2px solid #236657;outline-offset:-2px}.day-off-session-option.pending{background:#fff8e8;color:#76570c;cursor:default}.day-off-session-option.pending small{margin-left:auto;font-size:11px;font-weight:700;white-space:nowrap}.day-off-session-option>span{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}.day-off-session-option>span>span{font-weight:400;font-size:13px}.day-off-calendar,.day-off-form{min-width:0;width:100%}.day-off-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.day-off-calendar-nav button{min-width:44px;min-height:44px;font-size:24px;line-height:1}.day-off-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.day-off-weekday{text-align:center;font-size:11px;font-weight:600;color:#617570;padding-bottom:8px}.day-off-calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:48px;padding:4px 0;border:1px solid transparent;border-radius:8px;background:#f0f6f2;color:#173f43;font-size:14px;touch-action:manipulation}.day-off-calendar-day small{height:12px;font-size:10px;line-height:12px}.day-off-calendar-icon{display:inline-block;width:8px;height:8px;flex:0 0 8px;vertical-align:middle}.day-off-calendar-markers{display:flex;align-items:center;justify-content:center;gap:3px}.day-off-calendar-legend>span{display:inline-flex;align-items:center;gap:4px}.day-off-calendar-day:disabled{background:transparent;color:#617570;opacity:.55}.day-off-calendar-day.selected{background:#dceee4;color:#19503c}.day-off-calendar-day.active{background:#236657;color:white;border-color:#236657}.day-off-calendar-day.pending{background:#fff1c9;color:#76570c}.day-off-calendar-day.active.pending{background:#8b6b1f;color:#fff}.day-off-calendar-day.proposed{box-shadow:inset 0 0 0 2px #4d82d8;background:#e7f0ff;color:#285a9f}.day-off-calendar-day.active.proposed{background:#285a9f;color:#fff;box-shadow:inset 0 0 0 2px #9fc1f4}.day-off-calendar-proposed-note{padding:12px;border-radius:8px;background:#e7f0ff;color:#285a9f}.day-off-calendar-day:not(:disabled):hover{box-shadow:inset 0 0 0 2px #72b3a7}.day-off-page .day-off-calendar-legend{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:6px;margin:10px 0 14px;font-size:11px;white-space:nowrap}.day-off-calendar-sessions{margin-top:16px}.day-off-selection-review{margin-top:18px;padding:12px;border:1px solid #dce8e4;border-radius:14px;background:#f6f9f7;font-size:13px}.day-off-selection-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.day-off-selection-review h4{margin:0;font-size:14px;font-weight:700}.day-off-selection-count{padding:4px 9px;border-radius:99px;background:#e3efe8;color:#236657;font-size:11px;font-weight:700}.day-off-selection-review .day-off-selection-caption{margin:5px 0 14px;color:#617570;font-size:12px}.day-off-selection-review ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px;list-style:none;margin:0;padding:0}.day-off-selection-review li{display:flex;align-items:center;min-width:0;gap:8px;padding:8px;border:1px solid #dce8e4;border-radius:11px;background:#fff}.day-off-selected-date{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 42px;min-height:52px;border:1px solid #dce8e4;border-radius:9px;background:#edf5f0;color:#236657}.day-off-selected-date span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.day-off-selected-date strong{font-size:21px;font-weight:700;line-height:1.2}.day-off-selected-info{display:grid;flex:1;gap:4px;min-width:0;overflow-wrap:anywhere}.day-off-selected-info>strong{font-size:13px;line-height:1.3}.day-off-selected-info>span{color:#44675c;font-size:12px}.day-off-selected-info>small{color:#73867e;font-size:11px}.day-off-selection-review .day-off-selection-remove{display:grid;place-items:center;flex:0 0 44px;width:44px;min-height:44px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:#73867e}.day-off-selection-review .day-off-selection-remove:hover:not(:disabled){background:#fff1ed;border-color:#f4d9d0;color:#aa4836}@media (max-width:420px){.day-off-selection-review{padding:12px}}@media (max-width:520px){.day-off-page .day-off-card,.day-off-page .day-off-form{padding:14px}.day-off-calendar-grid{gap:2px}.day-off-page .day-off-form input,.day-off-page .day-off-form textarea{font-size:16px}.day-off-form>button{min-height:48px;width:100%}.day-off-form .day-off-session-option{min-height:56px;padding:12px}}.day-off-page input:is([type=radio],[type=checkbox]){accent-color:#236657;width:18px;height:18px;flex-shrink:0}.day-off-time-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.day-off-reschedule-fields{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:end}.day-off-reschedule-fields>label{min-width:0}.day-off-request-type{display:flex!important;flex-wrap:wrap;gap:10px 18px!important;border:0;padding:0}.day-off-request-type legend{width:100%;margin:0}.day-off-request-type label{display:flex;flex:0 1 auto;min-width:0;align-items:center;gap:8px;font-weight:600;cursor:pointer}.day-off-request-type input[type=radio]{width:18px;height:18px;accent-color:#236657}.day-off-follow-up-questions{display:grid;gap:14px;padding:16px;border:1px solid #dce8e4;border-radius:12px;background:#f8fbf9}.day-off-follow-up-questions fieldset{display:flex;flex-wrap:wrap;gap:10px 24px;min-width:0;border:0;padding:0}.day-off-follow-up-questions legend{width:100%;margin-bottom:8px;font-size:14px;font-weight:650;color:#28463e}.day-off-follow-up-questions label{display:flex;min-height:44px;align-items:center;gap:8px;cursor:pointer}.day-off-follow-up-questions input[type=radio]{width:18px;height:18px;accent-color:#236657}.day-off-summary{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;background:#f0f6f2;padding:14px 16px;border-radius:10px;font-size:14px}.day-off-page .muted{color:#617570;font-size:13px;font-weight:400;line-height:1.6}.day-off-count,.day-off-status{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;border-radius:30px;padding:6px 12px;background:#fff2cf;color:#76570c;font-size:12px;font-weight:600;white-space:nowrap}.day-off-status{text-transform:capitalize}.day-off-status.reassigned{background:#e0f2e6;color:#21653a}.day-off-status.rescheduled{background:#e1ecff;color:#285a9f}.day-off-status.cancelled{background:#f7e8e6;color:#8b4138}.day-off-list-heading{margin-bottom:16px;flex-wrap:wrap}.day-off-list-heading>div:first-child{flex:1;min-width:0}.day-off-list-heading>button{min-height:44px;flex-shrink:0}.day-off-filter{display:flex;align-items:center;gap:10px;font-size:13px}.day-off-requests{min-width:0}.admin-day-off-requests{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(380px,1.3fr);gap:24px;align-items:start}.admin-day-off-requests .admin-day-off-calendar{margin-bottom:0}.admin-day-off-requests .day-off-review-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:start}.admin-day-off-requests .day-off-review-cards .day-off-card{margin-bottom:0}.admin-day-off-requests .day-off-review-cards .day-off-empty{grid-column:1/-1}.admin-day-off-calendar{margin-bottom:20px;padding:20px;border:1px solid #dce8e4;border-radius:16px;background:#fff}.admin-day-off-calendar-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.admin-day-off-calendar-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.admin-day-off-calendar-heading h3{margin:0 0 4px}.admin-day-off-calendar-heading p{margin:0}.admin-day-off-calendar .day-off-calendar-day.has-requests{background:#f0f6f2;color:#173f43}.admin-day-off-calendar .day-off-calendar-day.has-requests small{color:#236657;font-weight:700}.admin-day-off-calendar .day-off-calendar-day.active{background:#236657;color:#fff}.admin-day-off-calendar .day-off-calendar-day.active small{color:#fff}.day-off-card{margin-bottom:16px}.day-off-list-heading{gap:8px;align-items:center}.day-off-list-heading h3{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0;font-size:15px;font-weight:650}.day-off-list-heading .day-off-count{padding:4px 8px;font-size:11px}.day-off-filter{flex-shrink:0;min-width:0}.day-off-filter-label{color:#617570;font-size:12px;font-weight:600}.day-off-filter-control{position:relative;display:flex;align-items:center;min-width:0;width:180px}.day-off-page .day-off-filter select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;min-height:46px;padding:10px 34px 10px 38px;border:1px solid #cadbd2;border-radius:10px;background:#f6f9f7;color:#234f42;font-size:14px;font-weight:600;cursor:pointer;transition:border-color .15s,background-color .15s}.day-off-page .day-off-filter select:hover{background:#edf5f0;border-color:#8eb4a4}.day-off-filter-chevron,.day-off-filter-icon{position:absolute;pointer-events:none;color:#527a68}.day-off-filter-icon{left:12px}.day-off-filter-chevron{right:12px}.day-off-review-cards .day-off-card{padding:16px;border-radius:12px;margin-bottom:12px}.day-off-card-title{gap:8px}.day-off-card-title h3{min-width:0;overflow-wrap:anywhere;font-size:16px;font-weight:650}.day-off-card-actions{gap:6px;flex-shrink:0}.day-off-card-actions .day-off-status{font-size:11px;padding:4px 9px}.day-off-card .day-off-client-date{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:10px 0;font-size:13px}.day-off-client-date strong{min-width:0;overflow-wrap:anywhere}.day-off-client-date time{flex-shrink:0;color:#617570;font-size:12px}.day-off-card .day-off-summary{align-items:center;gap:6px;padding:10px 12px;font-size:13px;border-radius:8px}.day-off-summary>span{font-size:12px;color:#617570}.day-off-card .day-off-proposed-time{margin:10px 0 0;padding:9px 12px}.day-off-proposed-time>span{display:block;margin-bottom:3px;font-size:11px}.day-off-proposed-time>strong{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;font-size:13px}.day-off-proposed-time>strong>*{white-space:nowrap}.day-off-card .day-off-scheduled-note{margin:10px 0 0;font-size:11px}.day-off-card.highlighted{border-color:#236657;box-shadow:0 0 0 2px #c7e2d8}.day-off-card p{margin:12px 0;line-height:1.6}.day-off-note{white-space:pre-wrap;overflow-wrap:anywhere}.day-off-request-answers{display:grid;gap:8px;margin:0;padding:12px 14px;border-radius:10px;background:#f8fbf9}.day-off-request-answers div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px}.day-off-request-answers dt{color:#617570}.day-off-request-answers dd{margin:0;font-weight:650;color:#28463e}.day-off-proposed-time{margin:12px 0;padding:10px 12px;border-radius:8px;background:#e7f0ff;color:#285a9f;border-left:3px solid #4d82d8}.day-off-decision{display:grid;gap:16px;border-top:1px solid #e3eae5;padding-top:20px;margin-top:20px}.day-off-decision .day-off-cancel-button{background:#b91c1c;border-color:#b91c1c;color:#fff;transition:background-color .15s,border-color .15s}.day-off-decision .day-off-cancel-button:hover:not(:disabled){background:#991b1b;border-color:#991b1b}.day-off-decision .day-off-cancel-button:focus-visible{outline:3px solid #f87171;outline-offset:3px}.day-off-empty{text-align:center;padding:40px 24px}.day-off-form .email-option{display:flex;align-items:flex-start;gap:12px;padding:12px 0}.email-option span{display:grid;gap:6px}.email-option small{color:#617570;font-weight:400;line-height:1.5}.email-history-page{padding-top:0}.email-history{padding:24px;border:1px solid #dce8e4;border-radius:16px;background:#fff}.email-history-controls,.email-history-pagination,.email-history-pagination>div,.email-history-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.email-history-pagination,.email-history-toolbar{justify-content:space-between}.email-history-toolbar h3{margin:0;font-size:19px}.email-history-controls label{display:flex;align-items:center;gap:8px;font-size:14px}.email-history-controls select{width:auto}.email-history>p{margin:16px 0}.email-history-table-wrap{overflow-x:auto}.email-history-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.email-history-table th{background:#f0f6f2;font-weight:600}.email-history-table td,.email-history-table th{padding:14px 12px;border-bottom:1px solid #e3eae5;vertical-align:top}.email-history-table td:first-child{overflow-wrap:anywhere;min-width:180px}.email-history-table td:nth-child(2){min-width:220px}.email-history-table time{display:block;min-width:145px}.email-history-error{margin-top:8px;font-size:13px;color:#8b4138}.email-history-error summary{cursor:pointer}.email-history-error p{margin:8px 0;overflow-wrap:anywhere}.email-history-empty{text-align:center;padding:24px}.email-history-pagination{margin-top:20px}@media (max-width:900px){.admin-day-off-requests,.day-off-layout{grid-template-columns:1fr}.admin-day-off-requests .admin-day-off-calendar{margin-bottom:20px}}@media (max-width:520px){.day-off-card,.day-off-form{padding:18px}.day-off-heading{align-items:flex-start}.day-off-list-heading{flex-wrap:wrap}.day-off-reschedule-fields{grid-template-columns:1fr;gap:12px}}.day-off-workspace-toolbar{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-bottom:24px}.day-off-workspace-toolbar>button{min-height:44px}.day-off-page[data-request-view=new]>.day-off-layout>.day-off-requests,.day-off-page[data-request-view=requests]>.day-off-layout>.day-off-form{display:none}.day-off-layout>.day-off-form{max-width:760px;margin-inline:auto}.day-off-submit-message{margin:0 0 16px}.day-off-review-list{min-width:0}.day-off-review-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:16px;align-items:start}.day-off-review-cards .day-off-card{margin-bottom:0;min-width:0;overflow-wrap:anywhere}.day-off-review-cards .day-off-empty{grid-column:1/-1}.day-off-form h2,.day-off-list-heading h2{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:20px;font-weight:650}.day-off-list-heading p{margin:6px 0 0}.day-off-heading-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:0}.day-off-heading-actions>button{min-height:44px}.day-off-scope-switch{display:flex;flex-wrap:wrap;gap:4px;padding:4px;border:1px solid #dce8e4;border-radius:12px;background:#edf4ef}.day-off-scope-switch button{flex:1;min-height:44px;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:#44675c;font-size:14px;font-weight:600}.day-off-scope-switch button[aria-pressed=true]{background:#fff;color:#173f43;box-shadow:0 1px 4px #173f4314}@media (max-width:520px){.day-off-heading-actions,.day-off-heading-actions>button,.day-off-scope-switch{width:100%}}.day-off-page .day-off-calendar-legend{flex-wrap:wrap;white-space:normal}.day-off-card .day-off-kind{margin:4px 0 0}@media (max-width:520px){.day-off-workspace-toolbar{gap:10px;margin-bottom:20px}.day-off-workspace-toolbar>button{width:100%}.day-off-list-heading>div:first-child{flex-basis:160px}.day-off-page .day-off-request-type label{min-height:44px}.day-off-page .day-off-decision select{min-width:0}.day-off-list-heading{align-items:flex-start;gap:12px;margin-bottom:14px}.day-off-list-heading h3{width:100%;font-size:18px}.day-off-list-heading .day-off-filter{width:100%;justify-content:space-between}.day-off-filter-control{flex:1;width:auto}.day-off-page .day-off-filter select{min-height:48px;font-size:16px}.admin-day-off-calendar-controls .day-off-filter{width:100%}.day-off-card-title{flex-wrap:wrap;align-items:center}.day-off-card-title h3{font-size:14px}.day-off-card-actions{flex-shrink:1;flex-wrap:wrap}.day-off-withdraw-button{min-height:44px;padding:10px 12px;font-size:12px;border-radius:8px}.day-off-card .day-off-client-date{flex-direction:column;align-items:flex-start;gap:5px;margin:12px 0}.day-off-client-date strong{font-size:17px}.day-off-client-date time{font-size:13px}.day-off-card .day-off-summary{flex-wrap:wrap}.day-off-card>a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}.day-off-card .day-off-decision :is(select,textarea){font-size:16px}.day-off-decision button{min-height:48px}.admin-day-off-calendar-heading{flex-direction:column}.admin-day-off-calendar-controls{width:100%;justify-content:flex-start}}.day-off-nav-filters{display:grid;gap:14px;min-width:0}.portal-filter-fields .day-off-nav-filters :is(input,select,button){min-height:44px;font-size:16px}.confirm-dialog{width:min(460px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;overflow:auto;border:1px solid #dce8e4;border-radius:20px;background:#fff;color:#173f43;box-shadow:0 24px 80px #12342b33}.confirm-dialog::backdrop{background:#102c2866;backdrop-filter:blur(4px)}.confirm-dialog-content{padding:28px 28px 24px}.confirm-dialog-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:20px;border:1px solid #d4e8df;border-radius:14px;background:#edf6f1;color:#236657}.confirm-dialog[data-tone=danger] .confirm-dialog-icon{background:#fff1ed;border-color:#f4d9d0;color:#aa4836}.confirm-dialog h2{margin:0 0 10px;font-size:22px;font-weight:700;line-height:1.3;letter-spacing:-.4px;overflow-wrap:anywhere}.confirm-dialog p{margin:0;color:#617570;font-size:14px;line-height:1.65}.confirm-dialog-details{max-height:200px;overflow:auto;margin-top:20px;padding:14px 16px;border:1px solid #dce8e4;border-radius:12px;background:#f6f9f7;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.confirm-dialog-details ul{list-style:none;margin:0;padding:0}.confirm-dialog-details li+li{margin-top:10px;padding-top:10px;border-top:1px solid #dce8e4}.confirm-dialog-details span,.confirm-dialog-details strong{display:block}.confirm-dialog-details span{margin-top:3px;color:#617570;font-size:12px}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 28px;border-top:1px solid #e6ede9;background:#fafcfb}.confirm-dialog-actions button{min-height:44px;padding:10px 18px;border-radius:9px;font:inherit;font-size:14px;font-weight:650;cursor:pointer}.confirm-dialog-back{border:1px solid #cad9d2;background:#fff;color:#274c42}.confirm-dialog-back:hover{background:#edf4ef}.confirm-dialog-submit{border:1px solid transparent;background:#236657;color:#fff}.confirm-dialog-submit:hover{background:#194e42}.confirm-dialog[data-tone=danger] .confirm-dialog-submit{background:#ab4436}.confirm-dialog[data-tone=danger] .confirm-dialog-submit:hover{background:#90372b}.confirm-dialog button:focus-visible{outline:3px solid #72b3a7;outline-offset:3px}@media (max-width:480px){.confirm-dialog-content{padding:24px 20px}.confirm-dialog-actions{padding:16px 20px}.confirm-dialog-actions button{flex:1;padding-inline:12px}}