/* HR 21.60 — permission-gated MSS shift planner. Extends portal only. */
.p60-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:14px;padding:16px;border-radius:15px;background:#fff;border:1px solid #e6edf8}
.p60-toolbar label{font-size:11px;font-weight:700;display:grid;gap:5px;color:#637797;flex:1;min-width:180px}
.p60-toolbar input{border:1px solid #d6e2f6;border-radius:10px;padding:11px;background:#f9fbff;width:100%;font:inherit}
.p60-toolbar .p51-primary{margin-left:auto;white-space:nowrap}
.p60-calendar-nav{display:flex;align-items:center;gap:15px;color:#142f69}
.p60-calendar-nav button,.p60-week-nav button{border:1px solid #d7e5f9;border-radius:10px;background:#f5f9ff;color:#2370e8;padding:7px 11px;cursor:pointer}
.p60-week-nav{display:flex;align-items:center;justify-content:space-between;gap:9px;padding-bottom:14px;flex-wrap:wrap;font-size:13px}
.p60-week-nav button:disabled{opacity:.35;cursor:not-allowed}
.p60-roster{margin-top:14px}
.p60-schedule{min-width:930px;table-layout:fixed}
.p60-schedule th:first-child,.p60-schedule td:first-child{width:175px}
.p60-schedule td{padding:5px!important;vertical-align:middle}
.p60-employee strong,.p60-employee small,.p60-cell strong,.p60-cell small{display:block}
.p60-employee strong{font-size:12px}.p60-employee small,.p60-cell small{font-size:10px;opacity:.76;margin-top:4px}
.p60-cell{border:1px dashed #d9e5f4;border-radius:9px;background:#fbfdff;width:100%;min-height:75px;padding:9px 5px;cursor:pointer;font-size:11px;color:#5e7395;text-align:center}
.p60-cell.assigned{border:1px solid #b6d4ff;background:#ebf5ff;color:#1454aa}
.p60-cell.rest{background:#f4f5f8;color:#7d889b}
.p60-cell:hover{border-color:#2c6ff0;box-shadow:0 0 0 2px #d8eaff}
.p60-cancel{border:1px solid #ffd0d6;background:#fff5f5;color:#b03a50;border-radius:9px;padding:8px 10px;cursor:pointer}
@media(max-width:650px){.p60-toolbar{align-items:stretch}.p60-toolbar label{flex-basis:100%}.p60-toolbar .p51-primary{margin-left:0}.p60-week-nav{font-size:11px}.p60-roster{padding:12px}}

/* HR 21.61 — bulk team roster controls, desktop and small screens */
.p61-bulk-launch{background:#0a65ee;border:1px solid #0a65ee;border-radius:11px;color:#fff;font-size:13px;font-weight:700;padding:11px 18px;cursor:pointer}
.p61-bulk-launch:hover{background:#084fc3}
.p61-bulk-form .p61-info{border-radius:12px;background:#edf5ff;border:1px solid #cfe2ff;padding:14px;color:#1b4c91;font-size:13px;line-height:1.55}
.p61-select-tools{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-top:5px}
.p61-select-tools label{flex:1;min-width:210px}
.p61-select-actions{display:flex;gap:8px}
.p61-select-actions button{background:#f3f7ff;border:1px solid #d7e4f6;border-radius:8px;padding:9px 11px;color:#145ac0;cursor:pointer}
.p61-employee-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:285px;overflow-y:auto;padding:10px;border:1px solid #d9e4f4;border-radius:13px;background:#f9fbff}
.p61-employee-row{display:flex!important;align-items:center;gap:10px;padding:10px;border:1px solid #e0e9f5;border-radius:11px;background:#fff;cursor:pointer;min-width:0}
.p61-employee-row:has(input:checked){border-color:#4c91ff;background:#edf5ff}
.p61-employee-row[hidden]{display:none!important}
.p61-employee-row input[type=checkbox]{width:17px;height:17px;flex:none;accent-color:#1772f3}
.p61-employee-row strong,.p61-employee-row small{display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
.p61-employee-row strong{font-size:12px;color:#15366e}.p61-employee-row small{font-size:11px;color:#607695}
.p61-monogram{display:inline-flex;width:32px;height:32px;flex:none;border-radius:50%;align-items:center;justify-content:center;background:#e7efff;color:#1767e0;font-size:11px;font-weight:800}
.p61-count{font-weight:700;color:#145ac0;font-size:13px}
@media(max-width:650px){.p61-employee-list{grid-template-columns:1fr}.p61-select-tools label{flex-basis:100%}.p61-bulk-launch{width:100%}}

/* HR 21.62: large, responsive seven-day retail roster. */
.p62-roster-body{display:grid;gap:14px;max-width:100%}.p62-top,.p62-fill,.p62-footer{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.p62-top label,.p62-fill label,.p62-footer label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600}.p62-top input,.p62-fill select,.p62-footer input{min-height:38px;padding:7px 10px;border:1px solid #d9e3f1;border-radius:8px;background:#fff}.p62-scroll{max-height:52vh;overflow:auto;border:1px solid #dce6f1;border-radius:10px}.p62-grid{border-collapse:separate;border-spacing:0;min-width:860px}.p62-grid th{position:sticky;top:0;z-index:3;background:#f2f6fc}.p62-grid .p62-sticky{position:sticky;left:0;z-index:4;min-width:190px;background:#fff}.p62-grid th.p62-sticky{background:#f2f6fc;z-index:5}.p62-grid td{padding:7px}.p62-grid td small{display:block;color:#6b7c96}.p62-grid select{min-width:110px;width:100%;padding:7px 4px;border:1px solid #dce5f0;border-radius:7px;background:white}.p62-grid select:disabled{background:#eaf5ed}.p62-locked{color:#128356!important}.p62-day-list{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.p62-day-list label{flex-direction:row;align-items:center}.p62-footer{border-top:1px solid #dae5f0;padding-top:12px}.p62-footer label{flex:1;min-width:220px}@media(max-width:760px){.p62-roster-body{font-size:12px}.p62-top>*,.p62-fill>label{flex:1 1 120px}.p62-grid .p62-sticky{min-width:132px}.p62-footer button{flex:1}}

/* HR 21.63 smart roster — spacious, responsive, no changes to HR Admin theme */
.p63-smart-panel{padding:16px;margin:14px 0;background:#eef5ff;border:1px solid #c9dcff;border-radius:15px;color:#142e5d}
.p63-smart-panel header,.p63-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}
.p63-smart-panel p{font-size:12px;margin:5px 0;max-width:740px}
.p63-targets{display:flex;gap:8px;flex-wrap:wrap}.p63-target{display:flex;align-items:center;gap:7px;background:white;padding:8px 10px;border:1px solid #dbe7fd;border-radius:9px;font-size:13px}
.p63-target input{width:58px;padding:5px;border:1px solid #cadaf4;border-radius:7px}
.p63-status{border-radius:9px;margin-top:10px;padding:11px 13px;background:#e7f6ee}.p63-status.blocked{background:#fff1e8;color:#8b3a0f}.p63-status.good{color:#166640}.p63-issues{max-height:160px;overflow-y:auto;padding-left:22px;font-size:12px}
.p63-review-scroll{overflow-x:auto}.p63-review-scroll table{min-width:1040px}
@media(max-width:650px){.p63-targets{display:grid;grid-template-columns:1fr 1fr;width:100%}.p63-smart-panel header,.p63-actions{align-items:stretch}.p63-smart-panel button{width:100%}}
