/* Schedule sheet: scoped MVP controls; loaded after the shared stylesheet. */
.schedule-editor { width:1320px;max-height:92dvh;border-radius:20px;background:#f8fafb; }
.schedule-editor .schedule-heading { padding:18px 24px 16px;background:#fff;gap:16px; }
.schedule-editor .schedule-heading h2 { font-size:22px;letter-spacing:-.03em; }
.schedule-editor .schedule-heading p { font-size:12px;font-weight:500; }
.schedule-editor .schedule-heading .btn-x { width:40px;height:40px;border:1px solid #d8e2e7;border-radius:10px;flex:none; }
.schedule-plan-badge { margin-left:auto;color:#0f7a4d;background:#eff7f2;border:1px solid #d7e9df;font-size:10px;font-weight:700;border-radius:999px;padding:7px 10px;white-space:nowrap; }
.schedule-editor .schedule-all { background:#eef3f6;padding:12px 24px;gap:6px; }
.schedule-editor .schedule-all>b { color:#0b3a4c;text-transform:uppercase;font-size:10px;letter-spacing:.05em;margin-right:8px; }
.schedule-editor .schedule-all .pill { min-height:32px;padding:5px 10px;font-size:11px; }
.schedule-person-tabs { display:none; }
.schedule-editor .schedule-body { background:#fff;overscroll-behavior:contain; }
.schedule-editor .schedule-row { grid-template-columns:210px 190px minmax(280px,1fr) 135px;gap:20px;padding:20px 24px;align-items:start; }
.schedule-editor .schedule-labels { position:sticky;top:0;z-index:2;background:#f8fafb;padding-top:10px;padding-bottom:10px;font-size:9px;letter-spacing:.05em; }
.schedule-person-name { display:flex;align-items:center;gap:8px;color:#14232b; }
.schedule-person-name>span { background:#0b3a4c;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:10px;color:#fff;font-weight:800;flex:none; }
.schedule-editor .schedule-role { margin:4px 0 12px 30px; }
.schedule-field-caption { display:block;font-size:9px;font-weight:800;color:#5b707b;text-transform:uppercase;letter-spacing:.04em; }
.schedule-editor .schedule-dates { margin:6px 0 14px;gap:6px; }
.schedule-editor .schedule-dates select { min-height:36px;font-weight:600; }
.schedule-editor .schedule-mini { line-height:22px;font-size:9px; }
.schedule-editor .schedule-mini span { min-width:22px;height:22px;padding:0;display:inline-flex;align-items:center;justify-content:center; }
.schedule-editor .schedule-actions { display:grid;grid-template-columns:repeat(5,1fr);gap:3px;padding:3px;border-radius:11px;background:#e6edf1; }
.schedule-editor .schedule-actions .pill { border:0;border-radius:8px;padding:6px 2px;min-height:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px; }
.schedule-editor .schedule-actions .pill b { font-size:13px; }
.schedule-editor .schedule-actions .pill small { font-size:7px;font-weight:600; }
.schedule-editor .schedule-actions .pill.on { background:#0b3a4c;color:#fff;box-shadow:0 2px 4px #0b3a4c1a; }
.schedule-action-hint { color:#5b707b;font-size:10px;line-height:1.55;margin:10px 3px 0; }
.schedule-candidate-heading { display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:9px; }
.schedule-candidate-heading>b { font-size:11px;color:#0b3a4c; }
.schedule-candidate-heading label { display:flex;gap:5px;align-items:center;font-size:9px;color:#5b707b;white-space:nowrap; }
.schedule-candidate-heading input { width:14px;height:14px;accent-color:#0b3a4c; }
.schedule-candidate-options { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px; }
.schedule-candidate-option { display:grid;grid-template-columns:12px minmax(0,1fr);align-items:start;gap:7px;padding:9px 10px;border:1px solid #d8e2e7;border-radius:10px;text-align:left;background:#fff;min-height:54px; }
.schedule-candidate-option:hover:not(:disabled) { background:#f3f8fa;border-color:#7aa3b3; }
.schedule-candidate-option.selected { border:2px solid #0b3a4c;padding:8px 9px;background:#eef6f9; }
.schedule-candidate-option b { display:block;font-size:10px;color:#14232b; }
.schedule-candidate-option small { display:block;font-size:8px;color:#5b707b;line-height:1.5;margin-top:3px; }
.schedule-candidate-option strong { grid-column:2;font-size:10px;color:#0b3a4c; }
.schedule-candidate-option.unavailable { background:#f6f8fa;border-style:dashed;opacity:.65; }
.schedule-candidate-option.no-candidate { grid-column:1/-1;min-height:40px;align-items:center; }
.schedule-choice-dot { display:block;margin-top:2px;width:10px;height:10px;border-radius:50%;border:1.5px solid #afc1ca; }
.schedule-candidate-option.selected .schedule-choice-dot { background:#0b3a4c;border-color:#0b3a4c;box-shadow:inset 0 0 0 2px #fff; }
.schedule-editor .schedule-candidate { display:flex;flex-wrap:wrap;gap:5px 12px;padding:8px 10px;font-size:9px;line-height:1.6;margin-top:8px;border:1px solid #e1e8ec; }
.schedule-no-replacement { background:#f1f8f4;color:#0f7a4d;border:1px solid #d9ece1;border-radius:10px;padding:13px;font-size:11px;line-height:1.6; }
.schedule-editor .schedule-effect { padding-top:3px; }
.schedule-editor .schedule-effect b { font-size:18px;white-space:nowrap; }
.schedule-editor .schedule-effect p { font-size:10px;margin-bottom:5px; }
.schedule-editor .schedule-effect small { font-size:9px;color:#7e929e; }
.schedule-editor .schedule-footer { padding:14px 24px;background:#fff;box-shadow:0 -8px 20px #0b3a4c05; }
.schedule-editor .schedule-footer>label { font-size:10px;color:#5b707b; }
.schedule-editor .schedule-footer input { padding:8px 10px;font-size:11px; }
.schedule-editor .schedule-footer .data-note { margin:8px 0 0;padding:8px 10px;font-size:10px; }
.schedule-editor .schedule-result { gap:10px;margin-top:12px; }
.schedule-totals { display:flex;flex-wrap:wrap;gap:8px 24px; }
.schedule-totals>div { display:flex;flex-direction:column;gap:4px; }
.schedule-totals small { color:#5b707b;font-size:8px;letter-spacing:.04em;font-weight:800; }
.schedule-totals b { font-size:16px;color:#0b3a4c; }
.schedule-editor .schedule-totals p { flex-basis:100%;font-size:9px;margin:0; }
.schedule-editor .schedule-result .btn { min-height:44px;white-space:nowrap; }
.schedule-editor .schedule-result .btn-primary { padding:0 24px; }
.schedule-mobile-label,.schedule-next-person { display:none; }
@media(max-width:1200px) and (min-width:1101px) { .schedule-editor .schedule-row { grid-template-columns:190px 160px minmax(250px,1fr) 120px;gap:14px; } }
@media(max-width:1100px) {
 .schedule-overlay { padding:12px; }
 .schedule-editor { max-height:calc(100dvh - 24px); }
 .schedule-editor .schedule-row { display:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 24px;padding:20px; }
 .schedule-editor .schedule-row.active-person { display:grid; }
 .schedule-editor .schedule-labels { display:none; }
 .schedule-person-tabs { display:flex;gap:6px;overflow-x:auto;padding:10px 20px;background:#fff;border-bottom:1px solid #e1e8ec;flex:none; }
 .schedule-person-tabs button { white-space:nowrap;border:1px solid #d8e2e7;border-radius:999px;padding:9px 13px;font-size:11px;font-weight:600;min-height:38px; }
 .schedule-person-tabs button.on { background:#0b3a4c;border-color:#0b3a4c;color:#fff; }
 .schedule-replacements { grid-column:1/-1; }
 .schedule-candidate-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .schedule-editor .schedule-effect { grid-column:1/-1;background:#f0f7f3;border:1px solid #d7e9df;border-radius:12px;padding:12px;text-align:left;display:flex;align-items:center;gap:12px;flex-wrap:wrap; }
 .schedule-editor .schedule-effect p { margin:0 0 0 auto; }
 .schedule-mobile-label { display:block;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#5b707b;margin-bottom:7px; }
 .schedule-editor .schedule-effect .schedule-mobile-label { margin:0; }
 .schedule-next-person { display:block; }
 .schedule-editor .schedule-result>.schedule-totals { flex-basis:100%; }
 .schedule-editor .schedule-result .btn-primary { margin-left:auto; }
 .schedule-editor .schedule-actions .pill small { font-size:8px; }
 .schedule-editor .schedule-actions .pill { min-height:48px; }
}
@media(max-width:600px) {
 .schedule-overlay { padding:0;align-items:stretch; }
 .schedule-editor { max-height:100dvh;height:100dvh;border-radius:0; }
 .schedule-editor .schedule-heading { padding:12px 14px; }
 .schedule-editor .schedule-heading h2 { font-size:18px; }
 .schedule-editor .schedule-heading p { font-size:10px; }
 .schedule-plan-badge { display:none; }
 .schedule-editor .schedule-all { padding:8px 14px;gap:5px; }
 .schedule-editor .schedule-all>b { flex-basis:100%; }
 .schedule-editor .schedule-all .pill { min-height:30px;padding:4px 8px;font-size:10px; }
 .schedule-person-tabs { padding:8px 14px; }
 .schedule-editor .schedule-row.active-person { grid-template-columns:minmax(0,1fr);padding:16px 14px;gap:16px; }
 .schedule-editor .schedule-row>div { grid-column:1; }
 .schedule-editor .schedule-role { margin-bottom:10px; }
 .schedule-editor .schedule-candidate-option { min-height:62px; }
 .schedule-editor .schedule-candidate-option b { font-size:11px; }
 .schedule-editor .schedule-candidate-option small { font-size:9px; }
 .schedule-editor .schedule-candidate-option strong { font-size:11px; }
 .schedule-editor .schedule-candidate-options { grid-template-columns:minmax(0,1fr); }
 .schedule-editor .schedule-candidate-option.no-candidate { min-height:44px; }
 .schedule-editor .schedule-footer { padding:10px 14px; }
 .schedule-editor .schedule-footer>label { display:flex;flex-direction:row;align-items:center;gap:8px;font-size:9px;margin-bottom:8px; }
 .schedule-editor .schedule-footer>label input { min-width:0;font-size:10px; }
 .schedule-editor .schedule-totals { gap:8px 14px; }
 .schedule-editor .schedule-totals b { font-size:14px; }
 .schedule-editor .schedule-totals small { font-size:7px; }
 .schedule-editor .schedule-totals p { font-size:8px; }
 .schedule-editor .schedule-result { margin-top:0;gap:8px; }
 .schedule-editor .schedule-result>.btn-outline:not(.schedule-next-person) { display:none; }
 .schedule-editor .schedule-result .btn { flex:1;min-height:46px;padding:0 8px;font-size:11px; }
}

/* Readable actions and eligibility; no seven-pixel control labels. */
.schedule-editor .schedule-row { grid-template-columns:210px 170px minmax(280px,1fr) 135px;gap:18px; }
.schedule-editor .schedule-role,.schedule-field-caption,.schedule-editor .schedule-mini { font-size:12px; }
.schedule-editor .schedule-actions { grid-template-columns:1fr; }
.schedule-editor .schedule-actions .pill { flex-direction:row;justify-content:flex-start;gap:10px;min-height:36px;padding:7px 10px; }
.schedule-editor .schedule-actions .pill b { font-size:14px;min-width:24px; }
.schedule-editor .schedule-actions .pill small { font-size:12px;line-height:1.3;white-space:normal; }
.schedule-action-hint { font-size:12px; }
.schedule-candidate-heading>b,.schedule-candidate-heading label { font-size:12px; }
.schedule-candidate-heading input { width:18px;height:18px; }
.schedule-candidate-option { min-height:82px; }
.schedule-candidate-option b { font-size:12px; }
.schedule-candidate-option small { font-size:11px;color:#4a5f6a;line-height:1.45; }
.schedule-candidate-option strong { font-size:12px; }
.schedule-candidate-option.unavailable { opacity:.85; }
.schedule-editor .schedule-candidate { font-size:12px; }
.schedule-editor .schedule-effect p,.schedule-editor .schedule-effect small { font-size:12px; }
.schedule-editor .schedule-footer>label,.schedule-editor .schedule-footer input { font-size:12px; }
.schedule-editor .schedule-footer .data-note,.schedule-totals small,.schedule-editor .schedule-totals p { font-size:11px;line-height:1.45; }
.schedule-person-tabs:has(>button:only-child) { display:none; }
@media(max-width:1200px) and (min-width:1101px) { .schedule-editor .schedule-row { grid-template-columns:190px 160px minmax(250px,1fr) 120px;gap:14px; } }
@media(max-width:1100px) {
 .schedule-editor .schedule-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .schedule-editor .schedule-actions { grid-template-columns:1fr 1fr; }
 .schedule-editor .schedule-actions .pill:last-child { grid-column:1/-1; }
 .schedule-editor .schedule-actions .pill { min-height:40px;padding:8px; }
 .schedule-editor .schedule-actions .pill small { font-size:12px; }
 .schedule-editor .schedule-footer { padding:14px 20px; }
}
@media(max-width:600px) {
 .schedule-editor .schedule-row.active-person { grid-template-columns:minmax(0,1fr); }
 .schedule-editor .schedule-heading p { font-size:12px; }
 .schedule-editor .schedule-all .pill { font-size:12px;min-height:36px; }
 .schedule-editor .schedule-all>b { font-size:11px; }
 .schedule-editor .schedule-candidate-option { min-height:72px; }
 .schedule-editor .schedule-candidate-option b,.schedule-editor .schedule-candidate-option strong { font-size:12px; }
 .schedule-editor .schedule-candidate-option small { font-size:11px; }
 .schedule-editor .schedule-footer>label { flex-direction:column;align-items:stretch;font-size:12px;gap:6px; }
 .schedule-editor .schedule-footer>label input { font-size:12px; }
 .schedule-editor .schedule-footer { padding:12px 16px; }
 .schedule-editor .schedule-totals small,.schedule-editor .schedule-totals p { font-size:11px; }
 .schedule-editor .schedule-totals b { font-size:16px; }
 .schedule-editor .schedule-result .btn { font-size:13px;min-height:44px; }
 .schedule-mobile-label { font-size:12px; }
}
@media(max-width:600px) {
 .schedule-editor .schedule-footer>label { font-size:0;gap:0; }
 .schedule-editor .schedule-footer>label input { font-size:12px; }
 .schedule-editor .schedule-totals { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px; }
 .schedule-editor .schedule-totals small { font-size:10px;min-height:28px; }
 .schedule-editor .schedule-totals p { grid-column:1/-1;font-size:10px; }
 .schedule-editor .schedule-totals b { font-size:14px; }
}
