.shift-cell{width:100%;cursor:pointer;font:inherit;text-align:center;transition:background .12s ease}.shift-cell:hover{background:#f7fbf9}.shift-location{font-size:8px;color:#71908d;font-weight:600}.roster-grid.day-mode .grid-cell{min-width:0}.shift-modal{width:min(570px,100%);background:#fff;border-radius:14px;box-shadow:var(--shadow);overflow:auto;max-height:min(770px,94vh);animation:modalIn .2s ease}.shift-form-grid{padding:8px 24px 22px;display:grid;grid-template-columns:1fr 1fr;gap:13px}.shift-form-grid .wide{grid-column:1/-1}.shift-modal .modal-footer{justify-content:flex-end}.shift-modal .modal-footer .button{margin-left:0}.directory-table{min-width:1060px}.brand{padding-bottom:31px}.brand-name{font-family:Roboto,Arial,sans-serif;font-weight:800;letter-spacing:-2px}.brand-name small{font-family:Roboto,Arial,sans-serif}
.week-controls{gap:5px}.jump-button{font-size:15px}.jump-button:hover,.square-button:hover{background:#eef7f4;color:#17647a}.select-mode-button{height:31px;padding:0 9px;font-size:10px}.toolbar-right{gap:5px}.shift-cell.is-selected{outline:2px solid #218b88;outline-offset:-3px;background:#e6f5f0;box-shadow:inset 0 0 0 1px #fff}.shift-cell.is-selected:after{content:'✓';position:absolute;top:5px;right:7px;width:16px;height:16px;border-radius:50%;background:#18847e;color:#fff;font-size:10px;display:grid;place-items:center}.shift-cell{position:relative}.roster-toolbar{gap:8px}
@media(max-width:760px){.shift-form-grid{padding:4px 16px 17px;gap:10px}.shift-form-grid .wide{grid-column:1/-1}}
@media(max-width:430px){.shift-form-grid{grid-template-columns:1fr}.shift-form-grid .wide{grid-column:auto}}
.timeoff-topline{min-height:45px;display:flex;align-items:center;gap:30px;margin:-23px -46px 0;padding:0 17px;background:#f4f7f8;border-bottom:1px solid #e5ebee}.timeoff-topline h1{font-size:16px;font-weight:500;color:#27546a;margin:0}.timeoff-top-actions{display:flex;align-items:center;gap:27px}.top-link,.add-timeoff-link{border:0;background:none;color:#28556c;text-decoration:underline;font-size:13px;cursor:pointer;padding:0;white-space:nowrap}.add-timeoff-link{color:#ed7d42;text-decoration:none}.timeoff-table-wrap{margin:38px -8px 0;overflow:auto}.timeoff-table{width:100%;min-width:1080px;border-collapse:collapse;color:#173e55;font-size:13px}.timeoff-table th{height:44px;text-align:left;padding:0 10px;font-weight:500;white-space:nowrap}.timeoff-table td{height:59px;padding:0 10px;border-bottom:1px solid #e9edef;white-space:nowrap}.timeoff-table tr.pending{background:#ffe4e4}.timeoff-person,.date-link{border:0;background:none;padding:0;color:#174a67;text-decoration:underline;font:inherit;cursor:pointer}.days-cell{text-align:center}.timeoff-display{display:inline-flex;align-items:center;gap:7px;background:#f1f3df;padding:6px 8px;color:#111}.timeoff-display i{width:14px;height:14px;background:conic-gradient(#ed6d63 0 25%,#f3cb5b 0 50%,#54a7c5 0 75%,#67b87a 0);border:2px solid white}.timeoff-actions{display:flex;align-items:center;justify-content:flex-end;gap:11px}.timeoff-actions button{border:0;background:none;color:#52758b;font-size:18px;line-height:1;cursor:pointer;padding:4px}.timeoff-modal .modal-footer .button{margin-left:0}.timeoff-modal .modal-footer{justify-content:flex-end}
@media(max-width:1150px){.timeoff-topline{margin:-23px -28px 0}.timeoff-top-actions{gap:14px}}
@media(max-width:760px){.timeoff-topline{margin:-18px -16px 0;padding:12px;align-items:flex-start;flex-direction:column;gap:12px}.timeoff-top-actions{flex-wrap:wrap;gap:14px}.timeoff-table-wrap{margin-top:23px}}
.settings-grid{display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));gap:18px}.settings-card{min-height:160px;padding:23px 21px;border:1px solid #e6ebed;background:#fff;color:#31536a;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:10px;cursor:pointer}.settings-card:hover{box-shadow:0 5px 15px rgba(24,53,74,.1)}.settings-card b{font-size:19px;font-weight:400}.settings-card>span:last-child{font-size:13px;line-height:1.55;color:#637d8b}.settings-icon{color:#f4773b;font-size:18px}.settings-modal{width:min(748px,100%);border-radius:0;max-height:95vh}.settings-modal.notification-settings{width:min(668px,100%)}.settings-modal-header{height:38px;background:#075273;color:white;display:flex;align-items:center;justify-content:center;position:relative}.settings-modal-header h2{font-size:14px;font-weight:400;margin:0}.settings-modal-header .close-button{position:absolute;right:8px;top:4px;background:none;color:white;font-size:20px}.settings-form{padding:23px 25px 8px;overflow:auto;max-height:calc(95vh - 120px)}.setting-row{min-height:55px;padding:10px 21px;display:grid;grid-template-columns:minmax(250px,1fr) minmax(230px,1fr);align-items:center;gap:20px;border-bottom:1px solid #edf0f1}.setting-row:nth-child(odd){background:#fafbfc}.setting-row>label{font-size:13px;color:#12415a;line-height:1.35}.setting-row input[type=checkbox]{appearance:none;width:22px;height:22px;border:1px solid #d2dadd;border-radius:4px;background:#fff;justify-self:start;position:relative;cursor:pointer}.setting-row input[type=checkbox]:checked:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:#496271;font-weight:700}.setting-row input:not([type=checkbox]),.setting-row select{width:100%;height:34px;padding:0 10px;border:1px solid #d9e0e3;border-radius:4px;background:#fff;color:#253c48;font:13px system-ui}.setting-control{display:flex;align-items:center;gap:12px}.setting-control small{white-space:nowrap;color:#31536a}.settings-footer{padding:13px 35px 22px}.settings-footer .button{width:197px;border-radius:0;height:48px;text-transform:uppercase;font-weight:400}
@media(max-width:1150px){.settings-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:760px){.settings-grid{grid-template-columns:1fr}.setting-row{grid-template-columns:1fr;gap:8px;padding:11px 13px}.settings-form{padding:12px 14px 5px}.settings-footer{padding:12px 18px 18px}}
.logout-button{width:28px;height:28px;border:0;border-radius:6px;background:none;color:#68828f;font-size:19px;cursor:pointer}.logout-button:hover{background:#eef4f5;color:#16495d}.password-profile-row .change-password-link{align-self:flex-start;border:0;background:none;padding:5px 0;color:#31566c;text-decoration:underline;font:12px system-ui;cursor:pointer}.password-form .wide{grid-column:1/-1}.password-form .error{margin:0;padding:10px 12px;border-radius:6px;background:#fff0ef;color:#a34137;font-size:12px}.invite-body{padding:23px 24px;color:#607987;font-size:12px;line-height:1.6}.invite-body input{width:100%;height:38px;margin:5px 0 12px;padding:0 9px;border:1px solid #dce5e8;border-radius:5px;color:#31566c;font:11px system-ui}.invite-body .button{height:34px}.invite-modal .modal-footer{justify-content:flex-end}
.appearance-toolbar{height:42px;background:#075477;color:#fff;display:flex;align-items:center;padding:0 14px;gap:14px}.appearance-toolbar b{font-size:13px;margin-right:auto}.appearance-toolbar span{color:#9fc4ce;font-style:italic;font-size:12px}.appearance-toolbar button{border:0;background:transparent;color:#e7be64;font-size:18px;cursor:pointer}.staff-color-swatches{display:none;gap:8px;padding:12px;border:1px solid #e5ecef;border-top:0}.staff-color-swatches.open{display:flex}.staff-color-swatch{width:30px;height:30px;border:2px solid transparent;border-radius:6px;cursor:pointer;font-size:13px}.staff-color-swatch.selected{border-color:#214c62;box-shadow:0 0 0 2px white inset}.staff-cell .staff-cell-text b,.staff-cell .staff-cell-text small{color:inherit}.roster-toolbar{flex-wrap:wrap;height:auto;min-height:59px;padding-top:8px;padding-bottom:8px}.week-controls{flex-wrap:wrap}.toolbar-right{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:720px){.roster-toolbar{align-items:flex-start;flex-direction:column}.toolbar-right{width:100%;justify-content:flex-start}.date-range{font-size:10px}.select-mode-button{padding:0 7px}}
.profile-visibility-checks{display:grid;gap:13px;margin-top:8px}.profile-visibility-checks .check-row{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:16px;width:100%;min-height:24px;color:#38566a;font-size:12px}.profile-visibility-checks .check-row input{grid-column:1;grid-row:1;justify-self:start;width:18px;height:18px;margin:0;accent-color:#176960}.profile-visibility-checks .check-row span{grid-column:2;grid-row:1;line-height:1.3}
.shift-cell.is-active{outline:2px solid #367f98;outline-offset:-3px;z-index:1}.shift-cell.is-selected.is-active{outline-color:#104f5f;outline-width:3px}
.shift-cell.is-selected{outline:none;background:#eaf1f4;box-shadow:none}.shift-cell.is-selected:after{content:none}.shift-cell.is-active{outline:1px solid #547987;outline-offset:-1px;z-index:1}.shift-cell.select-top{border-top:1px dashed #6e777b}.shift-cell.select-bottom{border-bottom:1px dashed #6e777b}.shift-cell.select-left{border-left:1px dashed #6e777b}.shift-cell.select-right{border-right:1px dashed #6e777b}.shift-cell.off-cell{background:#fff}.roster-grid:focus{outline:none}.grid-help{color:#8799a2;font-size:10px}
.select-all-corner{padding:0;border:0;background:#fbfcfc;cursor:crosshair}.select-all-corner:hover{background:#eaf2f3}.inline-shift-input{display:block!important;width:100%;height:24px;min-width:0;margin:auto;padding:2px 6px;border:1px dashed #6b7d84;background:#eef3f5;color:#1e4055;text-align:center;font:600 11px system-ui;outline:0;box-shadow:0 0 0 1px #fff inset}.inline-shift-input:focus{border-color:#275f73;box-shadow:0 0 0 1px #275f73 inset}
.shift-cell,.staff-cell{-webkit-user-select:none;user-select:none}.inline-shift-input{-webkit-user-select:text;user-select:text}
.shift-cell.is-drag-source{opacity:.45}.shift-cell[draggable="true"]{cursor:grab}.shift-cell[draggable="true"]:active{cursor:grabbing}
.shift-pill{cursor:grab;touch-action:none}.moving-shift,.moving-shift .shift-pill{cursor:grabbing!important}.shift-cell.shift-drop-target{outline:3px solid #218b88;outline-offset:-3px;background:#e6f5f0!important}
.shift-pill[draggable="true"]{cursor:grab;-webkit-user-drag:element;user-select:none}.shift-pill[draggable="true"]:active{cursor:grabbing}.shift-cell.is-drag-source{opacity:.5}.shift-cell.shift-drop-target{outline:3px solid #218b88;outline-offset:-3px;background:#e6f5f0!important}
.shift-cell{cursor:cell}
.timeoff-status{display:inline-block;padding:5px 9px;border-radius:20px;background:#edf3f4;color:#647a84;font-size:11px}.timeoff-status.pending{background:#fff3dc;color:#a56a23}.timeoff-status.approved,.timeoff-status.sent{background:#e5f4eb;color:#348062}.timeoff-status.declined{background:#fde9e7;color:#ae5349}.timeoff-empty{padding:28px;text-align:center;color:#81919b}.timeoff-modal textarea{width:100%;padding:9px;border:1px solid #dce5e9;border-radius:5px;font:13px system-ui;resize:vertical}.outbox-table{min-width:850px}.outbox-table td{vertical-align:middle}.outbox-message{display:block;color:#7f929c;font-size:11px;margin-top:4px;max-width:500px;white-space:normal}.outbox-footer{display:flex;gap:12px;padding:18px 10px}.unsaved-modal{width:min(330px,calc(100% - 32px));background:#fff;border-radius:7px;box-shadow:var(--shadow);overflow:hidden}.unsaved-modal>p{padding:18px 25px;color:#24465b}.unsaved-modal>footer{display:flex;justify-content:center;gap:12px;padding:0 15px 20px}.unsaved-modal .button{min-width:76px;background:#075477;color:#fff;border-color:#075477;font-weight:400}.setting-row textarea{width:100%;min-height:70px;border:1px solid #d9e0e3;padding:8px;font:13px system-ui}
/* High contrast range selection and a visible pending cut state. */
.shift-cell.is-selected{background:#c6d4da!important;box-shadow:inset 0 0 0 1px #607781!important;outline:1px solid #607781!important;outline-offset:-2px!important}
.shift-cell.is-active,.shift-cell.is-selected.is-active{outline:2px solid #173f50!important;outline-offset:-2px!important;z-index:2}
.shift-cell.is-cut{background:#f6e2d8!important;outline:2px dashed #bd563c!important;outline-offset:-4px!important}
.inline-shift-input{display:block;width:100%;min-height:78px;height:78px;resize:none;overflow:hidden;white-space:pre-wrap;text-align:center;padding:10px 8px;color:var(--ink);background:#f8fcfd;border:2px solid #1a6e85;outline:none;font:inherit;line-height:1.35}
.shift-cell{height:auto;min-height:78px;gap:3px;padding:10px 8px}
.shift-detail,.leave-pill,.shift-extra{display:block;font-size:9px;line-height:1.2;text-align:center;white-space:pre-wrap}
.shift-detail{color:#617682}.leave-pill{padding:2px 6px;border-radius:10px;background:#f7edbf;color:#75621e;font-weight:600}.shift-extra{color:#526b79}
.inline-shift-editor{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:3px;padding:8px 10px;border:2px solid #1a6e85;background:#f8fcfd}
.shift-line-input{display:block;width:100%;min-width:0;height:17px;padding:1px 4px;border:0;border-radius:3px;outline:0;text-align:center;font:10px/1.25 system-ui,sans-serif}
.shift-line-input::placeholder{color:#718394;opacity:1}
.shift-line-input:focus{box-shadow:inset 0 -1px #688b99}
.shift-time-input{color:#286d68;background:#eff7f4;font-weight:600}
.after-hours-input{color:#b26731;background:#fff0e2;font-weight:600}
.roster-grid{background:#fff;gap:0}.roster-grid .day-head{border-bottom:2px solid #cbd9df;background:#f4f8fa;color:#5d7582;font-size:10px;letter-spacing:.035em}.roster-grid .day-head b{font-size:12px}.roster-grid .grid-cell{border-color:#dce5e9}.roster-grid .staff-cell{background:#fbfcfd}.roster-grid .shift-cell{transition:background-color .12s ease,box-shadow .12s ease}.roster-grid .shift-cell:hover{background:#f0f7f7}.roster-grid .shift-cell.off-cell{background:#f8fafb}.roster-grid .shift-cell.is-selected,.roster-grid .shift-cell.is-active{background:#c6d4da!important}.roster-grid .shift-pill{font-size:10px;padding:5px 9px}.roster-grid .after-pill{font-size:8px;padding:4px 7px;letter-spacing:.01em}.roster-grid .leave-pill{font-size:9px;padding:3px 8px}.roster-grid .leave-pill.leave-pending{background:#ffdf6a;color:#5d4a08;border:1px dashed #b59624}.roster-grid .shift-cell.pending-timeoff{background:#fffdf3}.roster-context-menu{position:fixed;z-index:1000;min-width:190px;max-height:min(80vh,520px);overflow:auto;padding:7px;background:#125d7e;border:1px solid #0b4f6f;border-radius:4px;box-shadow:0 9px 24px #082f4050;color:#fff}.roster-context-title{padding:8px 11px;color:#c7dce5;font-size:11px;font-weight:700;letter-spacing:.025em}.roster-context-menu button{display:block;width:100%;padding:8px 11px;border:0;border-radius:2px;background:transparent;color:#fff;text-align:left;font:500 12px system-ui,sans-serif;cursor:pointer}.roster-context-menu button:hover,.roster-context-menu button:focus-visible{outline:0;background:#fff;color:#125d7e}.roster-context-separator{height:1px;margin:5px;background:#ffffff40}
.roster-card{border-color:#c6d3d9;box-shadow:0 5px 18px rgba(21,56,74,.07)}.roster-grid .day-head{background:#f1f6f8;color:#385b6c;border-color:#aebfc7}.roster-grid .grid-cell{border-color:#c8d3d8}.roster-grid .shift-cell{color:#26495d;background:#fff}.roster-grid .shift-cell.off-cell{background:#f4f7f8}.roster-grid .shift-cell:hover{background:#eaf4f3}.roster-grid .shift-pill{background:#d9eee8;color:#155b51;border:1px solid #c1e1d8}.roster-grid .after-pill{background:#ffe8d4;color:#8f4d17;border:1px solid #f5d2b0}.roster-grid .leave-pill{background:#ffeb91;color:#5d4a08;border:1px solid #efd96f}.roster-grid .leave-pill.leave-pending{background:#ffd84d;color:#4f3c00;border-color:#b88900}.roster-grid .shift-cell.pending-timeoff{background:#fff9dd}
.invite-actions{display:flex;gap:9px;align-items:center}.invite-actions .button-primary{min-width:142px}.invite-email-note{min-height:18px;margin:10px 0 0;color:#607987;font-size:11px}


/* Vlocity Communications brand colours */
:root{--navy:#003d4d;--navy-2:#075a6b;--teal:#087e82;--ink:#17394a;--muted:#687f89;--line:#e3eaec;--canvas:#f4f7f8;--white:#fff;--red:#e31837;--mint:#e1f0ec;--shadow:0 14px 38px rgba(0,48,62,.14)}
body{background:var(--canvas);color:var(--ink)}
.sidebar{background:linear-gradient(180deg,#003d4d 0%,#003644 100%)}
.nav-item.active{background:#0b5262;box-shadow:inset 3px 0 #e31837}
.nav-item:hover{background:rgba(255,255,255,.1)}
.nav-item.active .nav-icon{color:#ff6b7f}
.topbar{border-top:3px solid var(--navy);border-bottom-color:#dfe7e9}
.page-heading .eyebrow{color:#536f7b;display:flex;align-items:center;gap:9px}
.page-heading .eyebrow:before{content:"";display:inline-block;width:18px;height:3px;background:var(--red);border-radius:2px}
.button-primary{background:var(--red);border-color:var(--red);box-shadow:0 3px 9px rgba(227,24,55,.12)}
.button-primary:hover{background:#c91631;border-color:#c91631;box-shadow:0 5px 13px rgba(227,24,55,.22)}
.button:focus-visible,.nav-item:focus-visible,.square-button:focus-visible{outline:3px solid rgba(227,24,55,.3);outline-offset:2px}
.button-quiet{background:#e4f1ee;color:#075b60;border-color:#cce4de}
.live-pill{border-color:#d4e9e3;color:#16776b;background:#f6fbf9}
.roster-toolbar{border-color:#dce6e9;box-shadow:0 3px 12px rgba(0,50,65,.035)}
.roster-grid .day-head{background:#f0f5f6;color:#476675;border-color:#cbd9dd}
.roster-grid .day-head.today{background:#e4f0ef;box-shadow:inset 0 3px var(--red)}
.roster-grid .grid-cell{border-color:#cbd9dd}
.roster-grid .shift-cell{color:#24485a;background:#fff}
.roster-grid .shift-cell.off-cell{background:#f6f8f9}
.roster-grid .shift-cell:hover{background:#eef5f5}
.roster-grid .shift-pill{background:#e0efec;color:#075c5d;border:1px solid #c6e0da}
.roster-grid .after-pill{background:#fff0e5;color:#994b19;border:1px solid #f2d2b9}
.roster-grid .leave-pill{background:#fce5e9;color:#982039;border:1px solid #f1c4cc}
.roster-grid .leave-pill.leave-pending{background:#ffdf65;color:#4f3b00;border-color:#c9a82b}
.roster-grid .shift-cell.is-selected,.roster-grid .shift-cell.is-active{outline:2px solid var(--red);outline-offset:-3px;background:#c5dce0!important;box-shadow:inset 0 0 0 1px #fff}
.roster-grid .shift-cell.is-selected:after{background:var(--red)}
.roster-card,.directory-card{border-color:#dce6e9;box-shadow:0 5px 20px rgba(0,49,63,.055)}
.summary-card{border-color:#dce6e9;box-shadow:0 3px 12px rgba(0,49,63,.035)}
.summary-card:hover,.settings-card:hover{border-color:#efb8c2;box-shadow:0 8px 20px rgba(0,49,63,.09)}
.settings-card{border-color:#dce6e9;border-radius:9px;box-shadow:0 2px 8px rgba(0,49,63,.025)}
.settings-icon{color:var(--red)}
.settings-modal-header{background:var(--navy);border-bottom:3px solid var(--red)}
.modal-tab.active{border-bottom-color:var(--red);color:var(--navy)}
.modal-tab:hover{color:var(--navy)}
.timeoff-topline{background:var(--navy);border-bottom:3px solid var(--red)}
.timeoff-topline h1,.timeoff-topline .top-link{color:#fff}
.timeoff-topline .add-timeoff-link{color:#ff7184;font-weight:700}
.timeoff-topline .top-link:hover,.timeoff-topline .add-timeoff-link:hover{color:#fff}
.toast{background:var(--navy);border-left:4px solid var(--red)}

/* Vlocity logo treatment */
.sidebar{padding:25px 15px 16px}
.sidebar .brand{height:auto;display:block;margin:0;padding:2px 13px 34px;background:transparent;border:0}
.sidebar .brand-logo{display:block;width:208px;max-width:100%;height:auto}
.sidebar .brand-mark{display:none}
.login-card .brand{display:block;margin:0 0 26px;padding:0;color:#003d4d}
.login-card .brand-logo{display:block;width:242px;max-width:100%;height:auto}
@media(max-width:760px){.sidebar{padding:18px 7px}.sidebar .brand{height:auto;display:flex;justify-content:center;margin:0;padding:0 9px 25px}.sidebar .brand-logo{display:none}.sidebar .brand-mark{display:block;width:40px;height:40px}}

/* Time off list and reference style options popover */
.timeoff-topline{background:#f4f7f8;border-bottom:1px solid #e5ebee;border-top:0;min-height:46px}
.timeoff-topline h1{color:#27546a}
.timeoff-topline .top-link{color:#28556c}
.timeoff-topline .top-link:hover{color:var(--teal)}
.timeoff-top-actions{gap:28px}
.timeoff-options-wrap{position:relative;display:flex;align-items:center}
.timeoff-options-panel{position:absolute;z-index:7;left:-22px;top:35px;width:min(490px,calc(100vw - 300px));min-width:390px;padding:7px 14px 12px;background:#fff;border:1px solid #dfe5e8;box-shadow:0 8px 22px rgba(18,48,62,.18);color:#173e55}
.timeoff-option-row{min-height:36px;display:grid;grid-template-columns:minmax(0,1fr) 176px;align-items:center;gap:12px;padding:5px 1px;font-size:12px}
.timeoff-option-row input[type=date],.timeoff-option-row select{width:100%;height:27px;border:1px solid #d9e0e3;border-radius:4px;background:#fff;color:#24485c;padding:0 5px;font:12px system-ui}
.timeoff-option-row input[type=checkbox]{width:19px;height:19px;margin:0;justify-self:start;accent-color:#fff}
.timeoff-table-wrap{margin:27px -8px 0;padding:17px 14px 30px;overflow:auto;background:#fff;border:1px solid #edf0f1;border-radius:0 0 7px 7px}
.timeoff-table{min-width:1100px;font-size:13px}
.timeoff-table th{height:42px;padding:0 10px;color:#193e55}
.timeoff-table td{height:59px;padding:0 10px;border-bottom:1px solid #eef0f1}
.timeoff-table tbody tr:nth-child(even):not(.pending){background:#fff}
.timeoff-table tr.pending{background:#ffe5e5}
.timeoff-table td:first-child{min-width:120px}
.timeoff-person{color:#174a67;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}
.timeoff-avatar{display:inline-grid;place-items:center;width:26px;height:26px;margin-right:8px;border-radius:50%;font-size:9px;font-weight:700;vertical-align:middle}
.timeoff-display{padding:6px 8px;background:#f3f4df}
.timeoff-actions{min-width:104px;white-space:nowrap}
.timeoff-actions button{font-size:17px;color:#557589}
.timeoff-actions button:hover{color:var(--navy);transform:scale(1.08)}
.timeoff-empty{height:90px!important}
@media(max-width:760px){.timeoff-topline{margin:-18px -16px 0;flex-direction:row;align-items:center;gap:12px;padding:0 12px}.timeoff-top-actions{gap:15px}.timeoff-table-wrap{margin-top:20px;padding:12px 8px 20px}.timeoff-options-panel{left:auto;right:-8px;min-width:0;width:min(460px,calc(100vw - 90px))}.timeoff-option-row{grid-template-columns:minmax(0,1fr) 145px;font-size:11px}}
.timeoff-option-row input[type=checkbox]{appearance:none;position:relative;width:21px;height:21px;border:1px solid #d5dadd;border-radius:4px;background:#fff;cursor:pointer}
.timeoff-option-row input[type=checkbox]:checked:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:#526873;font-size:15px;font-weight:700}

/* Custom upcoming time-off view and day report */
.timeoff-topline{min-height:68px;align-items:center}
.timeoff-eyebrow{margin:0 0 3px;color:#78919d;font-size:9px;font-weight:700;letter-spacing:1.1px}
.timeoff-topline h1{font-size:23px;font-weight:700;color:#17394a}
.timeoff-period-bar{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin:24px -8px 13px;padding:14px 16px;background:#fff;border:1px solid #e1e8ea;border-radius:8px}
.timeoff-period-bar>div{display:flex;flex-direction:column;gap:4px;margin-right:auto;color:#20465a}
.timeoff-period-bar>div b{font-size:14px}.timeoff-period-bar>div span{color:#81939b;font-size:11px}
.timeoff-period-bar>label{display:flex;align-items:center;gap:8px;color:#5e7783;font-size:11px;font-weight:600}
.timeoff-period-bar input{height:34px;padding:0 8px;border:1px solid #dbe4e7;border-radius:5px;color:#24485c;font:12px system-ui}
#timeOffResetRange{height:34px;padding:0 12px;border:1px solid #dbe4e7;border-radius:5px;background:#f8fbfb;color:#28556c;font:600 11px system-ui;cursor:pointer}
#timeOffResetRange:hover{border-color:#8eb7b6;background:#eff7f5}
.timeoff-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 -8px 14px}
.timeoff-summary-grid article{display:flex;flex-direction:column;gap:7px;padding:13px 16px;background:#fff;border:1px solid #e1e8ea;border-radius:7px}
.timeoff-summary-grid article span{color:#718894;font-size:10px}
.timeoff-summary-grid article b{color:#173e55;font-size:22px;line-height:1}
.timeoff-report-wrap{margin:18px -8px 20px;background:#fff;border:1px solid #e1e8ea;border-radius:8px;overflow:hidden}
.timeoff-report-wrap>header{display:flex;align-items:center;justify-content:space-between;padding:14px 17px;border-bottom:1px solid #e8edef}
.timeoff-report-wrap>header h2{margin:0;color:#20465a;font-size:14px}
.timeoff-report-wrap>header span{color:#81939b;font-size:11px}
.timeoff-report-wrap>header>span:last-child{color:#176d69;font-weight:700}
.timeoff-report-table-wrap{overflow:auto}
.timeoff-report-table{width:100%;border-collapse:collapse;color:#173e55;font-size:12px}
.timeoff-report-table th,.timeoff-report-table td{height:40px;padding:0 17px;text-align:left;border-bottom:1px solid #edf0f1}
.timeoff-report-table th{color:#6d8390;font-size:10px;font-weight:600}
.timeoff-report-table tbody tr:last-child td{border-bottom:0}
@media(max-width:760px){.timeoff-topline{min-height:60px;align-items:center;flex-direction:row;margin:-18px -16px 0;padding:0 12px}.timeoff-topline h1{font-size:19px}.timeoff-period-bar{margin:18px -8px 12px;padding:12px;gap:10px}.timeoff-period-bar>div{flex-basis:100%}.timeoff-period-bar>label{flex:1;flex-direction:column;align-items:flex-start}.timeoff-period-bar input{width:100%}.timeoff-summary-grid{grid-template-columns:1fr 1fr;margin-left:-8px;margin-right:-8px}.timeoff-summary-grid article:last-child{grid-column:1/-1}.timeoff-report-wrap{margin-left:-8px;margin-right:-8px}}
