.roster-week-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 20px 16px;padding:12px 16px;background:#eef5f8;border:1px solid #d7e5ec;border-radius:12px}.roster-week-controls label{display:grid;gap:3px;color:#37566a;font-size:12px;font-weight:750}.roster-week-controls input{min-height:36px;border:1px solid #c9dce6;border-radius:7px;padding:5px 10px;background:white}.roster-week-caption{color:#486174;font-size:12px}.roster-scheduled-hours{color:#23655f;font-weight:800;white-space:nowrap}#employeeScheduledHours{display:block;padding:10px;border-radius:8px;background:#edf6f2;font-weight:750;color:#246157}
.flex-schedule-dialog{width:min(900px,calc(100vw - 24px));max-height:92vh;padding:0;border:0;border-radius:18px;color:#25374c;box-shadow:0 24px 80px #102c4055}.flex-schedule-dialog::backdrop{background:#162e4b70;backdrop-filter:blur(3px)}.flex-schedule-dialog form{padding:22px}.flex-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}.flex-heading h2{font-size:23px;margin:0 0 5px}.flex-heading p{margin:0;color:#64768c;font-size:13px}.flex-heading>button{border:0;background:#edf1f6;border-radius:50%;font-size:24px;width:34px;height:34px;cursor:pointer}.flex-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.flex-schedule-dialog label{display:grid;gap:5px;font-size:12px;font-weight:700;min-width:0}.flex-schedule-dialog label small{font-size:11px;font-weight:400;color:#657488}.flex-schedule-dialog input,.flex-schedule-dialog select,.flex-schedule-dialog textarea{box-sizing:border-box;min-width:0;width:100%;min-height:38px;padding:7px 9px;background:white;border:1px solid #cbd7e3;border-radius:7px;color:#263c52;font:inherit;font-size:13px}.flex-employee{grid-column:1/-1}.flex-scope-help{font-size:12px;line-height:1.5;padding:11px 13px;background:#eef5fb;border-radius:9px;color:#476580}.flex-schedule-dialog .flex-exceptions{display:block;padding:12px;background:#fff8e7;border:1px solid #f0e2b9;border-radius:9px;line-height:1.5}.flex-exceptions input{width:16px;min-height:16px;vertical-align:middle;margin-right:6px}.flex-exceptions small{display:block;margin-left:25px}.flex-week-tabs{display:flex;gap:8px;margin-top:16px}.flex-week-tab{border:1px solid #cad9e7;border-radius:8px;padding:9px 18px;background:#f4f7fb;color:#526782;font-weight:750;cursor:pointer}.flex-week-tab[aria-pressed=true]{background:#dcebe7;border-color:#8ebcb0;color:#215c4e}.flex-pattern-tools{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.flex-pattern-tools .btn{font-size:11px;padding:7px 10px}.flex-days{display:grid;gap:10px;margin-top:12px}.flex-day{border:1px solid #d7e2eb;border-radius:12px;overflow:hidden;background:#fafcfe}.flex-day:nth-child(3n+2){background:#fbfaff;border-color:#e0dbef}.flex-day:nth-child(3n){background:#f8fcf9;border-color:#d5e7dc}.flex-day-head{display:flex;gap:12px;align-items:center;padding:9px 13px;background:#edf3f8;border-bottom:1px solid #dde6ed}.flex-day-head h3{font-size:15px;margin:0;flex:1}.flex-day-total{font-size:12px;color:#557386;font-weight:750}.flex-day-head .btn{padding:6px 11px;font-size:11px;min-height:30px}.flex-off{margin:12px 14px;color:#8190a3;font-size:12px}.flex-shift{padding:11px 13px;border-top:1px dashed #d8e2eb}.flex-shift-times,.flex-lunch{display:grid;grid-template-columns:75px minmax(125px,1fr) minmax(125px,1fr) 105px;align-items:end;gap:10px}.flex-shift-times>b{align-self:center;font-size:12px;color:#526b83}.flex-lunch{padding-top:9px}.flex-lunch>span{align-self:center;font-size:11px;color:#66826d}.flex-remove{border:0;background:transparent;font-size:11px;color:#9c5361;text-decoration:underline;cursor:pointer;min-height:38px}.flex-add-lunch{border:0;background:transparent;color:#477069;font-size:11px;margin:9px 0 0 85px;cursor:pointer;padding:4px 0;font-weight:650}.flex-preview{background:#e7f2ed;border:1px solid #c8e1d5;padding:12px 14px;border-radius:10px;font-size:13px;font-weight:750;color:#366858;margin:16px 0}.flex-error{color:#ad3044;font-size:13px;line-height:1.5}.flex-error:empty{display:none}.flex-footer{position:sticky;bottom:-22px;background:white;border-top:1px solid #dde5ed;display:flex;align-items:center;gap:10px;padding:15px 0 0;margin-top:16px}.flex-footer>span{flex:1}.flex-schedule-dialog [hidden],.roster-week-controls[hidden],.roster-week-caption[hidden]{display:none!important}.flex-schedule-dialog :focus-visible{outline:3px solid #9dbce0;outline-offset:2px}
@media(max-width:620px){.flex-schedule-dialog form{padding:15px}.flex-controls{grid-template-columns:1fr}.flex-shift-times,.flex-lunch{grid-template-columns:1fr 1fr;gap:8px}.flex-shift-times>b,.flex-lunch>span{grid-column:1/-1}.flex-remove{grid-column:1/-1;min-height:24px;text-align:right}.flex-add-lunch{margin-left:0}.flex-footer{bottom:-15px;flex-wrap:wrap}.flex-footer>span{display:none}.flex-footer>button{flex:1;font-size:12px}.flex-heading h2{font-size:20px}.roster-week-controls{margin-left:10px;margin-right:10px}.roster-week-caption{flex-basis:100%}}
.employee-actions .roster-rotation-btn{background:#eaf3ef;border:1px solid #bfd7cb;color:#286354;font-weight:750}.roster-rotation-summary{flex-basis:100%;display:block;max-width:260px;color:#537368;font-size:11px;line-height:1.45;white-space:normal}.flex-rotation-choice{padding:12px;background:#eef2fa;border:1px solid #d5dff1;border-radius:10px;grid-column:1/-1}.flex-rotation-help{color:#586d83;font-size:12px;line-height:1.5;margin:10px 0}.flex-calendar-preview{border:1px solid #d6e1e9;border-radius:10px;background:#f6f9fc;margin:14px 0}.flex-calendar-preview summary{padding:12px 14px;cursor:pointer;font-weight:750;font-size:13px;color:#395972}.flex-preview-caption{padding:0 14px;color:#61758b;font-size:12px;line-height:1.5}.flex-preview-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:340px;overflow:auto;padding:0 12px 12px}.flex-preview-date{display:grid;gap:5px;min-width:0;border:1px solid #d0e0d9;background:#eff7f2;border-radius:8px;padding:10px;color:#385e50;font-size:12px;overflow-wrap:anywhere}.flex-preview-date.is-off{background:#f0f2f6;color:#728091;border-color:#dde2e9}.flex-preview-date small{font-size:11px;color:#6c7e8e}.flex-note{margin-top:14px}@media(max-width:620px){.flex-preview-dates{grid-template-columns:1fr}.flex-day-head{gap:7px;flex-wrap:wrap}}
.roster-rotation-heading{min-width:225px}.roster-rotation-cell{vertical-align:top;white-space:normal!important}.roster-rotation-snapshot{display:grid;gap:5px;min-width:210px;max-width:300px;font-size:12px;line-height:1.4}.roster-rotation-snapshot>b{color:#2b5e62;font-size:12px}.roster-rotation-snapshot>small{font-size:11px;color:#536779;overflow-wrap:anywhere}.roster-cycle-badge{width:fit-content;padding:4px 7px;border-radius:6px;background:#e9f2ed;color:#366858;font-size:11px;font-weight:700}.roster-rotation-snapshot .roster-rotation-anchor{color:#7a8798;font-size:10px}.roster-rotation-snapshot details{max-height:250px;overflow:auto}.roster-rotation-snapshot summary{cursor:pointer;color:#4c6790;font-size:11px}.roster-rotation-detail{display:grid;gap:3px;padding:6px 0;border-top:1px solid #e4ebef;margin-top:5px;font-size:11px}.roster-rotation-detail small{color:#687b70}
.flex-date-exception{display:flex;flex-wrap:wrap;gap:12px;align-items:start;padding:14px;background:#eef5fb;border:1px solid #b9cfe5;border-radius:8px;margin:10px 0}.flex-date-exception label{display:flex;flex-direction:column;gap:6px;min-width:180px;font-size:14px}.flex-date-exception small{flex-basis:100%;font-size:14px;line-height:1.45}.flex-date-exception select,.flex-date-exception input:not([type=checkbox]){max-width:100%;padding:8px}.flex-date-exception input[type=checkbox]{align-self:start}
.flex-editor-directions{margin:12px 0;padding:12px 16px;background:#f5f8fc;border-radius:8px;font-size:14px;line-height:1.6}.flex-editor-directions summary{cursor:pointer;font-weight:700}.flex-editor-directions li{margin:8px 0}
.home-request-badge{display:flex;flex-direction:column;gap:3px;padding:8px;border-radius:6px;border:1px solid #bdcedd;font-size:14px!important;line-height:1.4}.home-request-badge.request-pending{background:#fff3d6;color:#694900}.home-request-badge.request-approved{background:#e2f4e9;color:#185b36}
