/* Compact production planning, using the shared Prod Manager design tokens. */
.summary-strip small{display:block;margin-top:3px}
.planning-tabs{margin-bottom:12px}.planning-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.day-navigation,.day-picker{display:flex;align-items:center;gap:7px}.day-navigation>strong{min-width:185px;text-align:center;font-size:14px}.day-picker input[type=date]{font-size:12px;min-height:30px;padding:4px 8px}.planning-metrics{margin-bottom:12px}.planning-metrics .metric{padding:11px 14px;gap:3px}.planning-metrics .metric strong{font-size:22px}.planning-metrics .metric small{font-size:11px}.planning-board{margin-bottom:8px}.planning-alerts{border:1px solid #e9ce91;background:var(--warning-bg);border-radius:7px;padding:8px 12px;margin-bottom:12px;color:var(--warning);font-size:12px}.planning-alerts>summary{cursor:pointer;font-weight:650}.planning-alerts ul{padding-left:20px;margin:6px 0 2px;max-height:100px;overflow:auto}.planning-alerts li+li{margin-top:3px}.planning-alerts a{color:inherit;text-decoration:underline;text-underline-offset:2px}.planning-issues{margin-bottom:14px}.planning-issues li{padding-left:2px}
.schedule-scroll{overflow:auto;max-height:calc(100vh - 390px);min-height:100px}.schedule-grid{min-width:660px}.schedule-header,.schedule-row{display:grid;grid-template-columns:180px minmax(0,1fr)}.schedule-header{position:sticky;top:0;z-index:4;background:var(--soft);border-bottom:1px solid var(--border);font-size:11px;color:var(--muted);height:31px;align-items:center}.schedule-heading{padding:6px 12px;position:sticky;left:0;z-index:2;background:var(--soft);height:100%;border-right:1px solid var(--border)}.schedule-hours{position:relative;height:100%;margin-right:1px;font-variant-numeric:tabular-nums}.schedule-hours>span{position:absolute;top:7px;transform:translateX(-50%);white-space:nowrap}.schedule-hours>span:first-child{transform:none;padding-left:5px}.schedule-hours>span:last-child{transform:translateX(-100%);padding-right:5px}.schedule-row{min-height:40px;border-bottom:1px solid #edf0f5}.schedule-row:last-child{border-bottom:0}.schedule-label{display:flex;flex-direction:column;justify-content:center;padding:6px 12px;background:var(--surface);border-right:1px solid var(--border);position:sticky;left:0;z-index:3;overflow:hidden}.schedule-label strong{font-size:12px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.schedule-label small{font-size:10px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.schedule-row-factory .schedule-label{background:#edf3fc}.schedule-row-factory .schedule-label strong{color:var(--brand)}.schedule-track{position:relative;min-height:calc(var(--row-height) + 12px);overflow:hidden}.schedule-guide{position:absolute;top:0;bottom:0;width:1px;background:#e0e6ef}.schedule-row-factory .schedule-track{background-color:#fafcff}.schedule-segment{position:absolute;left:var(--segment-left);width:var(--segment-width);min-width:3px;max-width:100%;top:calc(var(--segment-top) + 6px);height:22px;padding:2px 6px;border-radius:4px;border:1px solid #9bb6df;background:#dce8fb;color:#214d8d;font-size:11px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:16px;z-index:1}.schedule-segment:hover,.schedule-segment:focus-visible{z-index:5;filter:brightness(.96);text-decoration:none;outline:2px solid var(--brand);outline-offset:1px}.segment-availability{background:#eaf5ef;color:var(--success);border-color:#b6d8c4;font-weight:400}.segment-downtime{background:repeating-linear-gradient(135deg,#f5eddf,#f5eddf 5px,#ede2cf 5px,#ede2cf 8px);color:#705724;border-color:#d6c197}.segment-absence{background:#f3e8ea;color:#834656;border-color:#dcb9c2}.segment-conflict{border:2px solid var(--danger);padding:1px 5px;color:var(--danger);background:#fff0ef}.segment-conflict>span{display:inline-grid;place-items:center;background:var(--danger);color:#fff;border-radius:50%;width:13px;height:13px;margin-right:4px;font-size:10px}.schedule-empty{position:absolute;left:10px;top:12px;color:#7b8797;font-size:10px}.schedule-legend{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;font-size:10px;color:var(--muted);border-top:1px solid var(--border);padding:9px 12px}.schedule-legend>span{display:flex;align-items:center;gap:5px}.schedule-legend>span:last-child{margin-left:auto}.schedule-legend i{width:12px;height:10px;display:inline-block;border-radius:2px;border:1px solid;font-style:normal}.schedule-legend .legend-production{background:#dce8fb;border-color:#9bb6df}.schedule-legend .legend-availability{background:#eaf5ef;border-color:#b6d8c4}.schedule-legend .legend-downtime{background:#ede2cf;border-color:#d6c197}.schedule-legend .legend-absence{background:#f3e8ea;border-color:#dcb9c2}.schedule-legend .legend-conflict{color:var(--danger);border-color:var(--danger);font-size:8px;font-weight:700;line-height:8px;text-align:center}
.planning-section-actions{display:flex;align-items:center;gap:8px}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-grid .panel{margin-bottom:12px}.booking-row{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #edf0f5}.booking-row:last-child{border-bottom:0}.booking-row strong{font-size:13px}.booking-row small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.booking-editor{border-top:1px solid var(--border);padding:0 14px 12px}.booking-editor>summary{padding:11px 0 0;color:var(--brand);font-size:12px;cursor:pointer;font-weight:550}.booking-editor[open]>summary{margin-bottom:12px}.booking-editor .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.booking-editor .field label{font-size:12px}.booking-editor .field-help{font-size:11px}.booking-editor .form-actions{padding-top:12px;margin-top:12px}.planning-fold>summary{padding:12px 16px;cursor:pointer;font-size:14px;font-weight:650;display:list-item;list-style-position:inside}.planning-fold>summary .muted{font-size:12px;font-weight:400;margin-left:12px}.planning-fold[open]>summary{border-bottom:1px solid var(--border)}.planning-fold>.table-scroll{max-height:300px}.resource-capacity{font-variant-numeric:tabular-nums;white-space:nowrap}.resource-table .action-cell{display:flex;align-items:center;gap:8px}.resource-table .action-cell a+a{margin-left:0}.planning-subtitle{max-width:740px}.availability-list .table-scroll,.resource-table.table-scroll{max-height:330px}.planning-sf-filter{display:flex;gap:8px;align-items:center;font-size:12px}.planning-sf-filter select{min-height:30px;padding:4px 8px;font-size:12px}.production-actions{justify-content:flex-end}.production-actions form{margin:0}.program-note{margin-top:4px}
/* Keep the day overview usable on a 1280 × 720 workspace. */
body[data-view=planning] .app-main,body[data-view=teams] .app-main{padding-top:18px}body[data-view=planning] .page-heading,body[data-view=teams] .page-heading{margin-bottom:12px}.planning-tabs{margin-bottom:8px}.planning-tabs a{padding-top:6px;padding-bottom:7px}.planning-toolbar{margin-bottom:8px}.planning-metrics{margin-bottom:8px}.planning-metrics .metric{padding:7px 12px;gap:1px}.planning-metrics .metric strong{font-size:20px}.planning-metrics .metric small{line-height:1.3}.planning-board>.panel-heading{min-height:38px;padding:5px 12px}.planning-section-actions{font-size:12px}.schedule-scale{font-size:11px!important;min-height:27px!important;padding:4px 6px!important}.schedule-track{min-height:calc(var(--row-height) + 6px)}.schedule-segment{top:calc(var(--segment-top) + 3px)}.schedule-row{min-height:38px}.schedule-legend{padding-top:7px;padding-bottom:7px}.schedule-scroll{max-height:calc(100vh - 350px)}
@media(min-width:1400px){.schedule-header,.schedule-row{grid-template-columns:195px minmax(0,1fr)}}
@media(max-width:1050px){.booking-grid{grid-template-columns:1fr}.schedule-header,.schedule-row{grid-template-columns:155px minmax(0,1fr)}.planning-section-actions{flex-wrap:wrap}}
@media(max-width:700px){.planning-toolbar{align-items:flex-start}.day-navigation{gap:4px;flex-wrap:wrap}.day-navigation>strong{min-width:160px;font-size:12px}.planning-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-metrics .metric{border-bottom:1px solid var(--border)}.schedule-scroll{max-height:390px}.schedule-legend>span:last-child{margin-left:0}.booking-editor .form-grid{grid-template-columns:1fr}.planning-fold>summary .muted{display:block;margin:4px 0 0 16px}.production-actions{justify-content:flex-start}}
