/* Stable worker × half-day matrix */
.planning-matrix{--slot-height:68px;display:grid;grid-template-columns:92px repeat(10,minmax(0,1fr));border:1px solid #d7ddd9;border-radius:8px;overflow:hidden;background:#fff}.density-compact .planning-matrix{--slot-height:58px}.density-normal .planning-matrix{--slot-height:72px}.density-large .planning-matrix{--slot-height:82px}.matrix-worker-head,.matrix-day-head,.matrix-period{background:#e9eeeb;border-right:1px solid #d4dcd6;border-bottom:1px solid #d4dcd6;text-align:center;font-weight:750}.matrix-worker-head{grid-row:span 2;display:grid;place-items:center;font-size:11px;position:sticky;left:0;z-index:5}.matrix-day-head{grid-column:span 2;padding:5px 2px;font-size:11px;text-transform:capitalize}.matrix-period{padding:2px;font-size:8px;color:#6f7b74}.matrix-worker{height:var(--slot-height);padding:7px 5px;border-right:1px solid #cfd8d1;border-bottom:1px solid #dce2dd;display:flex;flex-direction:column;justify-content:center;position:sticky;left:0;z-index:4;background:#fff;min-width:0}.matrix-worker.stripe,.matrix-slot.stripe{background:#f5f7f6}.matrix-worker b{font-size:11px;overflow:hidden;text-overflow:ellipsis}.matrix-worker small{font-size:8px;color:#748078;margin-top:3px}.matrix-slot{height:var(--slot-height)!important;min-height:var(--slot-height)!important;max-height:var(--slot-height)!important;overflow:hidden;border:0;border-right:1px solid #e0e5e1;border-bottom:1px solid #dce2dd;padding:2px;align-self:stretch;transition:box-shadow .12s,background .12s}.matrix-slot:nth-child(even){border-right-style:dashed}.matrix-slot.over-slot{box-shadow:inset 0 -2px #b66d61}.matrix-intervention{height:30px;min-height:30px;max-height:30px;margin:1px 0;padding:0 2px;border-left:2px solid var(--blue);background:transparent;overflow:hidden;color:#2e5a8a}.intervention-main{height:16px;display:grid;grid-template-columns:12px minmax(0,1fr) 30px;align-items:center;gap:3px}.intervention-main .contact{position:static;width:10px;height:10px;border:1px solid #9ba9a1;font-size:0}.intervention-main .contact.yes{background:var(--green);box-shadow:0 0 0 2px #dcece5}.intervention-main b{font-size:10px;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#2d567f}.intervention-main>span{font-size:9px!important;text-align:right;font-variant-numeric:tabular-nums;color:#394841}.planning-remark{height:12px;line-height:11px;padding:0 2px;font-size:8px;color:var(--remark-color);background:var(--remark-bg);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:2px}.matrix-intervention .edit-int,.matrix-intervention .remark-option{position:absolute;top:0;border:0;background:#fff;color:var(--green);font-size:8px;opacity:0;padding:1px;z-index:4}.matrix-intervention .edit-int{right:13px}.matrix-intervention .remark-option{right:1px}.matrix-intervention:hover .edit-int,.matrix-intervention:hover .remark-option,.matrix-intervention.selected .edit-int,.matrix-intervention.selected .remark-option{opacity:1}.more-items{position:absolute;right:2px;bottom:1px;border:0;border-radius:8px;background:#e6ece8;color:#52635a;font-size:8px;padding:1px 5px}.density-compact .matrix-worker b,.density-compact .intervention-main b{font-size:9px}.density-normal .matrix-worker b{font-size:12px}.density-normal .intervention-main b{font-size:11px}.density-normal .intervention-main>span{font-size:10px!important}.density-large .matrix-worker b{font-size:13px}.density-large .intervention-main b{font-size:12px}.density-large .intervention-main>span{font-size:11px!important}.density-large .planning-remark{font-size:9px}.planning-matrix .slot.selected,.planning-matrix .intervention.selected{box-shadow:inset 0 0 0 2px #3b8d6d}.planning-matrix .slot.warn-drop{background:#fff8e8;box-shadow:inset 0 0 0 2px #c18a2d}.week-section{overflow:hidden}.slot-contents{max-height:75vh;overflow:auto}.slot-content-row{width:100%;display:flex;justify-content:space-between;border:0;border-bottom:1px solid #e1e6e2;background:#fff;padding:9px;text-align:left}.remark-popover{position:fixed;z-index:90;padding:8px;width:215px}.remark-popover small{display:block;margin-bottom:5px}.remark-popover button{width:29px;height:25px;border:1px solid #d9dfda;border-radius:5px;margin-right:3px}.remark-default{white-space:nowrap}
/* Persistent movable workspace */
.floating{right:auto!important;max-height:none!important;min-width:250px;min-height:160px;overflow:hidden;resize:both;padding:0!important;display:flex;flex-direction:column}.floating .float-handle{height:34px;flex:0 0 34px;padding:5px 7px;border-bottom:1px solid var(--line);cursor:move;background:#eef2ef}.floating .float-handle span{margin-left:auto}.floating .float-handle button{font-size:14px;width:25px}.floating .float-content{padding:7px;overflow:auto;flex:1}.floating.minimized{height:34px!important;min-height:34px;resize:none}.floating.minimized .float-content{display:none}
@media(max-width:1100px){.planning-matrix{grid-template-columns:78px repeat(10,minmax(0,1fr))}.matrix-worker b{font-size:9px}.intervention-main b{font-size:9px}}

.planning-replanning-context { border-bottom: 1px solid var(--line); padding-bottom: 12px; }
.planning-replanning-context nav { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0; }
.planning-replanning-context [aria-current="true"] { outline: 1px solid currentColor; outline-offset: 1px; }
.planning-replanning-context [data-replan-status][data-valid="false"] { color: #f1b4a8; }

/* Replanning hierarchy stays inside the shared, scrollable Planning editor. */
.production-replanning-editor .replanning-current,
.production-replanning-editor .replanning-comparison { padding: 10px; border: 1px solid var(--line); border-radius: 6px; overflow-wrap: anywhere; }
.production-replanning-editor .replanning-current p,
.production-replanning-editor .replanning-comparison p { margin: 6px 0; }
.production-replanning-editor .replanning-target { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 14px 0; padding: 10px; border-left: 3px solid var(--green); }
.production-replanning-editor .replanning-target input { max-width: 220px; }
.production-replanning-editor .replanning-comparison { margin-top: 12px; }
.production-replanning-editor .replanning-comparison ul { padding-left: 18px; margin: 8px 0; }
.production-replanning-editor [data-replan-status] { min-height: 2em; }
.production-replanning-editor footer { flex-wrap: wrap; }

/* UX 2.3: scope the draft navigation and feedback to the existing split editor. */
.production-replanning-editor .replanning-current{padding:6px 8px;font-size:12px}
.production-replanning-editor .replanning-current summary{cursor:pointer}
.production-replanning-editor .replanning-current>div{margin-top:6px}
.production-replanning-editor .replanning-draft-heading{display:flex;flex-wrap:wrap;gap:3px 12px;margin-top:8px}
.production-replanning-editor .replanning-draft-heading small{color:var(--ui-text-soft)}
.production-replanning-editor .replanning-target{margin:6px 0;padding:4px 8px}
.production-replanning-editor .planning-replanning-context nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px;margin:6px 0}
.production-replanning-editor [data-replan-segment]{text-align:left;min-width:0;padding:6px 8px;overflow-wrap:anywhere}
.production-replanning-editor [data-replan-segment] b,.production-replanning-editor [data-replan-segment] small{display:block;font-size:11px;line-height:1.4}
.production-replanning-editor [data-replan-segment] small{font-weight:400;color:var(--ui-text-soft)}
.production-replanning-editor [data-replan-add]{padding:4px 6px;font-size:12px}
.production-replanning-editor [data-primary-service]>header [data-replan-remove]{width:auto;height:auto;font-size:11px;color:var(--ui-text-soft)}
.production-replanning-editor .replanning-feedback{flex-basis:100%;display:flex;align-items:start;gap:8px;font-size:11px;margin-bottom:4px}
.production-replanning-editor .replanning-feedback [data-replan-status]{flex:1;min-width:0;min-height:0}
.production-replanning-editor .replanning-feedback [data-replan-check]{padding:3px 5px;font-size:11px;flex:none}
.production-replanning-editor [data-replan-status][data-valid="false"]{color:var(--ui-danger,#ae4d53)}
:root[data-theme="dark"] .production-replanning-editor [data-replan-status][data-valid="false"]{color:#f1b4a8}
.production-replanning-editor [data-replan-status] details{max-height:100px;overflow:auto}
.production-replanning-editor [data-replan-status] summary{cursor:pointer}
.production-replanning-editor [data-replan-status] ul{padding-left:16px;margin:3px 0}
.production-replanning-editor .replanning-comparison{padding:8px;font-size:12px}
@media(max-width:600px){.production-replanning-editor .replanning-feedback{flex-wrap:wrap}.production-replanning-editor .planning-replanning-context nav{grid-template-columns:1fr}}
