:root{color:#193450;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#e9f5ff;font-family:Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{background:#e9f5ff;margin:0;overflow-x:hidden}#root{width:min(100%,1200px);margin:0 auto;padding:1.25rem}.login-shell{place-items:center;min-height:calc(100dvh - 2.5rem);display:grid}.login-panel{background:#f7fcff;border:1px solid #93c9ee;border-radius:.8rem;gap:1rem;width:min(420px,100%);padding:1.2rem;display:grid;box-shadow:0 14px 32px #1e4c741f}.login-panel h1{color:#1e4c74;margin:0;line-height:1.15}.login-form{gap:.85rem;display:grid}.login-form button{width:100%}.login-error{color:#9f1f1f;background:#fff0f0;border-left:4px solid #c22525;margin:0;padding:.65rem .75rem;font-weight:700}.login-info a{color:#2a87c8;text-underline-offset:3px;font-weight:700;text-decoration:underline}.app-shell{gap:1rem;display:grid}.app-header{background:linear-gradient(135deg,#d7ecfb,#c2e2f8);border:1px solid #93c9ee;border-radius:.8rem;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.2rem;display:flex}.app-header>div{min-width:0}.app-header h1{color:#1e4c74;margin:0}.app-header h1,.app-header .muted{overflow-wrap:anywhere}.app-header .muted{white-space:normal;max-width:100%;display:block}.panel{background:#f7fcff;border:1px solid #9accf0;border-radius:.8rem;padding:1rem}.panel h2,.panel h3{color:#1e4c74;margin-top:0}.panel-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.panel-title-row h2{margin-bottom:0}.grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;display:grid}.grid.grid-quarter-dates{grid-template-columns:minmax(160px,180px) minmax(160px,180px) 120px 120px max-content 157px;justify-content:start;align-items:end;gap:10px}.grid label.date-compact{width:180px}.grid.grid-quarter-dates .file-input,.grid.grid-quarter-dates button{align-self:end;width:120px}.grid .date-compact input[type=date]{width:150px;padding:0}.grid.grid-quarter-dates button.primary{white-space:nowrap;width:157px}.grid.grid-quarter-dates button.generate-schedule-button{width:auto;min-width:157px;padding-inline:1rem}.grid.grid-quarter-dates .btn-wide{white-space:nowrap;width:157px}.app-header .button-row{justify-content:flex-end}.app-header .button-row button{color:#2a87c8;font-weight:700}.app-header .button-row button.header-admin-btn,.app-header .button-row button.header-help-btn{width:80px}.app-header .button-row.header-actions{flex-direction:row;justify-content:flex-end;align-items:flex-end}.header-user{color:#1e4c74;overflow-wrap:anywhere;text-align:right;flex:1 0 100%;max-width:18rem;font-size:.88rem;font-weight:700}.header-locale{color:#1e4c74;flex-direction:row;align-items:center;gap:.35rem;max-width:180px;margin:0;font-size:.85rem;font-weight:700;display:flex}.header-locale select{min-width:112px;padding:.35rem .45rem}button.linklike{text-underline-offset:3px;cursor:pointer;color:#2a87c8;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}label{gap:.35rem;font-size:.95rem;display:grid}input,select,button{font:inherit}input,select{background:#fff;border:1px solid #8cc3ea;border-radius:.5rem;min-width:0;max-width:100%;padding:.45rem .55rem}.button-row{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}button,.file-input{color:#1d4c73;cursor:pointer;background:#dff0fb;border:1px solid #80bbe6;border-radius:.5rem;min-height:2.45rem;padding:.45rem .75rem;text-decoration:none}button.primary{color:#fff;background:#2a87c8;border-color:#2a87c8}button:disabled{opacity:.6;cursor:not-allowed}.file-input input{display:none}.checkbox{align-self:end;align-items:center;gap:.55rem;display:flex}.safety-alert{background:#fff8ed;border-left:4px solid #c77916;grid-template-columns:minmax(220px,1fr) minmax(260px,1.4fr);align-items:center;gap:.9rem;margin-top:.85rem;padding:.8rem .9rem;display:grid}.safety-alert-copy p{margin-bottom:0}.safety-alert-actions{gap:.55rem;display:grid}.safety-alert-item{grid-template-columns:minmax(150px,1fr) auto;align-items:center;gap:.65rem;display:grid}.safety-alert-item span{color:#7a3f00;font-weight:700}.safety-alert-item.complete span{color:#157442}.modal-nvt{border-top:1px solid #d7e8f6;border-bottom:1px solid #d7e8f6;gap:.25rem;padding:.7rem 0;display:grid}.modal-nvt p{margin:0}.modal-nvt-auto-close{text-align:right;margin-top:.45rem}.employee-picker{background:#fff;border:1px solid #cbe3f6;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.45rem;max-height:210px;margin-top:.6rem;padding:.65rem;display:grid;overflow:auto}.employee-picker-option{align-self:center;min-height:2rem}.status{color:#1f628f;margin-top:.75rem;font-weight:600}.main-status{display:inline-block}.status-blink{animation:1s step-end infinite statusPulse}@keyframes statusPulse{0%,49%{color:#138a3d}50%,to{color:#c22525}}@media (width<=720px){.safety-alert,.safety-alert-item{grid-template-columns:1fr}}.split{grid-template-columns:1fr 1fr;gap:1rem;display:grid}table{border-collapse:collapse;background:#fff;width:100%}th,td{text-align:left;border:1px solid #c3def2;padding:.42rem .5rem;font-size:.9rem}th{background:#e2f1fb}.table-wrap table.sticky-head thead th{z-index:1;background:#e2f1fb;position:sticky;top:0}.table-wrap-small{max-height:220px}details.dropdown{background:#fff;border:1px solid #cbe3f6;border-radius:.5rem;padding:.5rem .65rem}details.dropdown summary{cursor:pointer;color:#1e4c74;font-weight:600}details.dropdown[open] summary{margin-bottom:.25rem}.table-wrap{-webkit-overflow-scrolling:touch;max-height:500px;overflow:auto}.list{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.list li{overflow-wrap:anywhere;background:#fff;border:1px solid #cbe3f6;border-radius:.5rem;justify-content:space-between;align-items:center;gap:.5rem;min-width:0;padding:.5rem .65rem;display:flex}.help-tutorial{background:#fff;border:1px solid #cbe3f6;padding:.75rem .85rem}.help-tutorial ol{margin:.5rem 0 0;padding-left:1.25rem}.help-tutorial li{margin:.35rem 0;line-height:1.45}.muted{color:#426d8a;margin:.25rem 0 0}.modal-overlay{z-index:10000;background:#14325073;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{overscroll-behavior:contain;background:#f8fcff;border:1px solid #8cc3ea;border-radius:.8rem;gap:.65rem;width:min(460px,100%);max-height:calc(100dvh - 2rem);padding:1rem;display:grid;overflow-y:auto}.modal-wide{width:min(560px,100%)}.help-modal{max-height:calc(100vh - 2rem);overflow-y:auto}.help-doc-link{color:#1e4c74;align-items:center;width:fit-content;font-weight:700;text-decoration:underline;display:inline-flex}.modal-xwide{flex-direction:column;gap:.65rem;width:min(960px,100%);max-height:calc(100dvh - 2rem);display:flex;overflow:hidden}.modal-overlay-top{place-items:start center;padding:1rem;overflow-y:auto}.muted.small,p.small{margin:0;font-size:.88rem;line-height:1.45}.inline-pair{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.week-view-body{flex-direction:column;flex:1;gap:1.25rem;min-height:0;max-height:min(70vh,640px);display:flex;overflow-y:auto}.week-view-section h4{color:#1e4c74;margin:0 0 .35rem;font-size:1rem;font-weight:600}.week-view-scroll{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #c3def2;border-radius:.5rem;overflow-x:auto}table.week-grid{min-width:max-content;font-size:.82rem}.week-grid .sticky-col{z-index:2;background:#e8f4fc;min-width:8rem;position:sticky;left:0;box-shadow:2px 0 4px #1e4c7414}.week-grid thead th.sticky-col{z-index:3;background:#d4e9f7}.week-grid-day-head{text-align:center;vertical-align:middle;min-width:4.5rem;line-height:1.25}.week-grid-day-head .day-head-line{color:#1e4c74;font-weight:600;display:block}.week-grid-day-head .day-head-count{color:#426d8a;margin-top:.15rem;font-size:.76rem;font-weight:500;display:block}.week-grid thead th.week-grid-head-holiday{color:#4a148c;background:#e1bee7}.week-grid thead th.week-grid-head-holiday .day-head-line{color:#4a148c}.week-grid thead th.week-grid-head-holiday .day-head-count{color:#6a1b9a}.week-grid .left-head{text-align:left;font-weight:600}.week-grid tbody td.week-grid-cell-t7{color:#1b5e20;background:#c8e6c9}.week-grid tbody td.week-grid-cell-empty-core{color:#eee;background:#424242}.week-grid tbody td.week-grid-cell-holiday{color:#4a148c;background:#e1bee7}.week-grid tbody td.week-grid-cell-vacation-specialLeave{color:#8a4300;background:#ffe0b2}.week-grid tbody td.week-grid-cell-vacation-sick{color:#b71c1c;background:#ffcdd2}.week-grid tbody td.week-grid-cell-vacation-personalDay{color:#0d47a1;background:#bbdefb}.week-grid tbody td.week-grid-cell-vacation-vacation{color:#8a4300;background:#ffe0b2}.week-view-emp-cell{cursor:help;text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.workday-popover{z-index:10050;color:#193450;pointer-events:none;background:#f0f8ff;border:1px solid #2a87c8;border-radius:.5rem;min-width:240px;max-width:min(320px,100vw - 1rem);padding:.65rem .85rem;font-size:.88rem;line-height:1.45;box-shadow:0 8px 24px #14325033}.workday-popover-title{color:#1e4c74;margin-bottom:.35rem;font-weight:700}.workday-popover-meta{color:#426d8a;margin-bottom:.45rem;font-size:.82rem}.workday-popover-days{margin-bottom:.45rem}.workday-popover-skills{word-break:break-word;margin-bottom:.45rem;font-size:.84rem}.workday-popover-holidays{background:#f3e5f5;border:1px solid #ce93d8;border-radius:.35rem;margin-bottom:.5rem;padding:.45rem .55rem;font-size:.82rem}.workday-popover-holidays ul{margin:.35rem 0 0;padding-left:1.1rem}.workday-popover-vacations{background:#ffebee;border:1px solid #ef9a9a;border-radius:.35rem;margin-bottom:.5rem;padding:.45rem .55rem;font-size:.82rem}.workday-popover-vacations ul{margin:.35rem 0 0;padding-left:1.1rem}.workday-popover-hint{color:#5a7d96;border-top:1px solid #c3def2;margin:0;padding-top:.35rem;font-size:.78rem}.panel kbd{background:#fff;border:1px solid #8cc3ea;border-radius:.25rem;padding:.1rem .35rem;font-family:inherit;font-size:.85em}@media (width<=980px){#root{padding:1rem}.app-header{flex-direction:column;align-items:stretch}.app-header .button-row.header-actions{flex-direction:row;justify-content:flex-start;align-items:stretch}.app-header .button-row button.header-admin-btn,.app-header .button-row button.header-help-btn,.app-header .button-row button.header-logout-btn{flex:9rem;width:auto}.header-user{text-align:left;flex:100%;max-width:none}.grid.grid-quarter-dates{grid-template-columns:repeat(2,minmax(0,1fr))}.grid label.date-compact,.grid.grid-quarter-dates .file-input,.grid.grid-quarter-dates button,.grid.grid-quarter-dates button.primary,.grid.grid-quarter-dates .btn-wide{width:100%}.grid .date-compact input[type=date]{width:100%;padding:.45rem .55rem}.split,.inline-pair{grid-template-columns:1fr}}@media (width<=720px){#root{padding:.7rem}.app-shell{gap:.75rem}.app-header,.panel{border-radius:.65rem;padding:.85rem}.app-header h1{overflow-wrap:anywhere;font-size:1.55rem;line-height:1.15}.app-header .muted{max-width:32ch}.panel-title-row{flex-direction:column;align-items:stretch}.panel-title-row .button-row{margin-top:0}.grid,.grid.grid-quarter-dates,.employee-picker{grid-template-columns:1fr}.button-row{flex-direction:column;align-items:stretch}button,.file-input{text-align:center;width:100%}.checkbox{align-items:flex-start;width:100%}.safety-alert{padding:.75rem}.safety-alert-item button{justify-self:stretch}th,td{padding:.38rem .42rem;font-size:.84rem}.table-wrap{max-height:380px}.list li{flex-direction:column;align-items:stretch}.list li>button{align-self:stretch}.modal-overlay,.modal-overlay-top{align-items:start;padding:.6rem}.modal{border-radius:.65rem;width:100%;max-height:calc(100dvh - 1.2rem);padding:.85rem}.modal-xwide,.help-modal{max-height:calc(100dvh - 1.2rem)}.week-view-body{max-height:none}.week-view-scroll{border-radius:.4rem}.week-grid .sticky-col{white-space:normal;min-width:7.2rem;max-width:8.5rem}.week-grid-day-head{min-width:4rem}.workday-popover{max-width:none;right:.5rem;left:.5rem!important}}@media (width<=420px){#root{padding:.5rem}.app-header,.panel{padding:.75rem}.app-header h1{font-size:1.35rem}.login-panel{padding:.9rem}.muted.small,p.small{font-size:.84rem}th,td{font-size:.8rem}}
