.production-plan{min-width:0;min-height:100vh;padding:0 24px 32px;background:#f3f6f5;color:#263638}.production-plan__header{min-height:132px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 -24px;padding:20px 28px;border-bottom:1px solid var(--line);background:#fff}.production-plan__header a{display:inline-block;margin-bottom:7px;color:#657477;font-size:11px;text-decoration:none}.production-plan__header>div:first-child>span{display:block;margin-bottom:6px;color:var(--teal);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.production-plan__header h1{margin:0 0 7px;font-size:27px}.production-plan__header p{margin:0;color:#6d7b7d;font-size:12px}.production-plan__actions{display:grid;grid-template-columns:auto auto;gap:8px;justify-items:end}.production-plan__actions>span{grid-column:1/-1;padding:7px 10px;border-radius:14px;background:#eef2f1;color:#667477;font-size:10px}.production-plan__actions .button{min-height:38px;font-size:11px}.plan-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0 10px}.plan-kpis article{position:relative;padding:14px 15px;border:1px solid var(--line);background:#fff}.plan-kpis article:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#849a9c}.plan-kpis .is-accent:before{background:var(--teal)}.plan-kpis .is-warning:before{background:#c0882f}.plan-kpis .is-danger:before{background:#ba4e47}.plan-kpis span,.plan-kpis small{display:block;color:#738184;font-size:10px}.plan-kpis b{display:block;margin:6px 0 3px;font-size:20px}.plan-kpis .is-danger b{color:#a83f39}.plan-toolbar{display:grid;grid-template-columns:auto auto 180px 1fr;gap:10px;align-items:center;margin-bottom:10px;padding:10px 12px;border:1px solid var(--line);background:#fff}.plan-period{display:flex;align-items:center;gap:10px}.plan-period button,.plan-toolbar>button{height:34px;border:0;background:#eef4f3;color:var(--teal);cursor:pointer}.plan-period button{width:34px;border-radius:50%}.plan-period strong{font-size:12px}.plan-view{display:flex;padding:3px;border-radius:18px;background:#eef2f1}.plan-view button{height:29px;padding:0 12px;border:0;border-radius:15px;background:transparent;color:#667477;font-size:10px;cursor:pointer}.plan-view button.is-active{background:#fff;color:var(--teal);box-shadow:0 1px 4px rgba(30,50,52,.12)}.plan-toolbar label{display:flex;align-items:center;gap:7px;color:#748184;font-size:10px}.plan-toolbar select{height:34px;flex:1;border:1px solid #d1d9d8;background:#fff;color:#465658;font-size:10px}.plan-toolbar>button{justify-self:end;padding:0 12px;font-size:10px}.capacity-panel,.schedule-panel,.decision-panel,.unplanned-panel{border:1px solid var(--line);background:#fff}.capacity-panel>header,.schedule-panel>header,.decision-panel>header,.unplanned-panel>header{min-height:55px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid #e5ebea}.capacity-panel h2,.schedule-panel h2,.decision-panel h2,.unplanned-panel h2{margin:0 0 4px;font-size:14px}.capacity-panel header p,.schedule-panel header p,.decision-panel header p,.unplanned-panel header p{margin:0;color:#748184;font-size:10px}.capacity-panel>header>span{color:#788588;font-size:10px}.capacity-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:12px}.capacity-grid button{display:grid;grid-template-columns:1fr auto;gap:6px;padding:10px;border:1px solid #dfe6e5;background:#fff;color:inherit;text-align:left;cursor:pointer}.capacity-grid button.is-active{border-color:#8dc5c2;background:#f0f8f7}.capacity-grid span,.capacity-grid b{font-size:11px}.capacity-grid b{justify-self:end}.capacity-grid i{grid-column:1/-1;height:6px;overflow:hidden;border-radius:3px;background:#e4e9e8}.capacity-grid em{height:100%;display:block;background:var(--teal)}.capacity-grid small{grid-column:1/-1;color:#748184;font-size:9px}.capacity-grid .is-risk b{color:#a83f39}.capacity-grid .is-risk em{background:#b84c45}.capacity-grid .is-warning b{color:#956923}.capacity-grid .is-warning em{background:#c38a30}.plan-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:12px;margin-top:12px;align-items:start}.schedule-panel>header>div:last-child{display:flex;gap:8px}.legend{font-size:9px}.legend:before{content:"";display:inline-block;width:8px;height:8px;margin-right:4px;border-radius:2px;background:#76b7b4}.legend.is-wait:before{background:#d2d9d8}.legend.is-risk:before{background:#d7746d}.schedule-scroll{overflow:auto}.schedule-board{min-width:860px;display:grid;grid-template-columns:135px repeat(7,minmax(90px,1fr))}.schedule-corner,.schedule-day{min-height:52px;display:grid;place-items:center;border-bottom:1px solid #dfe6e5;border-right:1px solid #edf0ef;color:#637275;font-size:9px;text-align:center}.schedule-corner{padding-left:12px;place-items:center start}.schedule-day b{font-size:10px}.schedule-day.is-weekend{background:#faf6f1}.schedule-row-label{min-height:82px;padding:15px 12px;border-right:1px solid #dfe6e5;border-bottom:1px solid #e7eceb}.schedule-row-label b,.schedule-row-label span{display:block}.schedule-row-label b{font-size:11px}.schedule-row-label span{margin-top:6px;color:#748184;font-size:9px}.schedule-track{position:relative;grid-column:2/-1;min-height:82px;display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:9px 5px;border-bottom:1px solid #e7eceb;background:repeating-linear-gradient(to right,transparent 0,transparent calc(14.285% - 1px),#edf0ef calc(14.285% - 1px),#edf0ef 14.285%)}.schedule-track.is-overload{background-color:#fffafa}.job{grid-column:var(--start)/span var(--span);align-self:start;min-width:0;padding:7px 8px;border:1px solid #8cc5c2;border-radius:3px;background:#e8f5f4;color:#235f62;text-align:left;cursor:pointer}.job b,.job span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.job b{font-size:9px}.job span{margin-top:3px;font-size:8px}.job.is-gray{border-color:#ccd6d5;background:#f0f3f2;color:#58686a}.job.is-wait{border-color:#d4d9d8;background:#f7f8f8;color:#6d7a7c}.job.is-risk{z-index:2;border-color:#d36e67;background:#fdeeed;color:#8f3732}.job.is-outline{border-style:dashed;background:#fff}.decision-panel>header button,.unplanned-panel>header button{border:0;background:transparent;color:var(--teal);font-size:10px;cursor:pointer}.decision-panel article{padding:13px 14px;border-bottom:1px solid #e6ebea;border-left:3px solid #8ca7a9}.decision-panel article.is-danger{border-left-color:#bb4d46}.decision-panel article.is-warning{border-left-color:#c18a30}.decision-panel article>span{color:#8b4843;font-size:9px;font-weight:700}.decision-panel h3{margin:7px 0 6px;font-size:11px;line-height:1.35}.decision-panel article p{margin:0;color:#6f7d80;font-size:10px;line-height:1.45}.decision-panel footer{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:10px}.decision-panel footer b{color:#667578;font-size:9px}.decision-panel footer button{min-height:29px;border:1px solid #a7ceca;background:#fff;color:var(--teal);font-size:9px;cursor:pointer}.unplanned-panel{margin-top:12px}.unplanned-table{overflow:auto}.unplanned-table table{width:100%;min-width:900px;border-collapse:collapse}.unplanned-table th,.unplanned-table td{padding:10px 12px;border-bottom:1px solid #e7eceb;text-align:left;font-size:10px}.unplanned-table th{background:#f7f9f9;color:#708083}.unplanned-table td>b{color:var(--teal)}.unplanned-table .ready{color:#2e7759}.unplanned-table .waiting{color:#93631f}.unplanned-table td button{border:0;background:#eaf4f3;color:var(--teal);font-size:9px;cursor:pointer}.plan-live{position:fixed;right:18px;bottom:18px;z-index:20;max-width:360px;margin:0;padding:11px 14px;border:1px solid #a9cfcb;border-radius:4px;background:#f0f8f7;color:#365e60;box-shadow:0 8px 24px rgba(28,54,56,.16);font-size:11px}.plan-live:empty{display:none}[hidden]{display:none!important}
@media(max-width:1200px){html,body{min-width:0}.production-plan{padding-left:16px;padding-right:16px}.production-plan__header{margin-left:-16px;margin-right:-16px;padding-left:20px;padding-right:20px}.capacity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-layout{grid-template-columns:1fr}.decision-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.decision-panel>header{grid-column:1/-1}}
@media(max-width:800px){.production-plan__header{align-items:flex-start;flex-direction:column}.production-plan__actions{width:100%;justify-items:stretch}.production-plan__actions>span{justify-self:start}.plan-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-toolbar{grid-template-columns:1fr 1fr}.plan-toolbar>button{justify-self:stretch}.decision-panel{grid-template-columns:1fr}.decision-panel>header{grid-column:1}.capacity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.production-plan{margin-left:64px;padding:0 10px 24px}.production-plan__header{min-height:0;margin:0 -10px;padding:15px 13px}.production-plan__header h1{font-size:21px}.production-plan__header p{font-size:12px}.production-plan__actions{grid-template-columns:1fr}.production-plan__actions>span{grid-column:1}.production-plan__actions .button{width:100%}.plan-kpis{gap:7px;margin:10px 0}.plan-kpis article{padding:11px}.plan-kpis span,.plan-kpis small{font-size:11px}.plan-toolbar{grid-template-columns:1fr;padding:9px}.plan-period{justify-content:space-between}.plan-view{justify-content:center}.plan-toolbar label{font-size:11px}.capacity-panel>header{align-items:flex-start;flex-direction:column}.capacity-grid{grid-template-columns:1fr}.capacity-grid span,.capacity-grid b,.capacity-grid small{font-size:11px}.schedule-panel>header{align-items:flex-start;flex-direction:column}.schedule-row-label b,.schedule-row-label span,.job b,.job span{font-size:11px}.decision-panel h3{font-size:12px}.decision-panel article>span,.decision-panel article p,.decision-panel footer b,.decision-panel footer button{font-size:11px}.unplanned-panel>header{align-items:flex-start;flex-direction:column}.unplanned-table th,.unplanned-table td,.unplanned-table td button{font-size:11px}}
@media(max-width:420px){.plan-kpis{grid-template-columns:1fr}.schedule-panel>header>div:last-child{flex-wrap:wrap}}

/* Wide planning surfaces scroll inside their panels, not at page level. */
.capacity-panel,.schedule-panel,.decision-panel,.unplanned-panel{min-width:0}.schedule-scroll,.unplanned-table{width:100%;max-width:100%;overflow:auto}

/* Review fixes: readable dispatch data, sticky area labels and explicit gates. */
.schedule-corner,.schedule-row-label{position:sticky;left:0;z-index:3;background:#fff;box-shadow:1px 0 #dfe6e5}.schedule-corner{z-index:4}.schedule-hint{display:none;margin:0;padding:8px 12px;border-bottom:1px solid #e4e9e8;background:#f4f8f7;color:#5d7173;font-size:11px}.capacity-grid small,.schedule-row-label span,.legend,.job span,.decision-panel article>span,.decision-panel article p,.decision-panel footer b,.decision-panel footer button,.unplanned-table td button{font-size:11px}.capacity-grid span,.capacity-grid b,.schedule-row-label b,.job b,.decision-panel h3{font-size:12px}.plan-view button:disabled{color:#99a3a4;cursor:not-allowed}.launch-gates{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:0 12px 12px}.launch-gates>strong{font-size:11px}.launch-gates span{padding:6px 8px;border-radius:3px;font-size:10px}.launch-gates .is-ready{background:#e8f5ee;color:#2d7457}.launch-gates .is-blocked{background:#fff1df;color:#93631f}.quality-gates{display:grid;grid-template-columns:auto 1fr 1fr;gap:7px;padding:11px 12px;border-top:1px solid #dfe6e5;background:#f7f9f9}.quality-gates strong,.quality-gates span{font-size:11px}.quality-gates span{padding-left:8px;border-left:2px solid #8ab7b7}.quality-gates small{grid-column:1/-1;color:#718083;font-size:10px}
@media(max-width:760px){.schedule-hint{display:block}.launch-gates{align-items:stretch;flex-direction:column}.launch-gates span{font-size:11px}.quality-gates{grid-template-columns:1fr}.quality-gates small{grid-column:1}.schedule-corner,.schedule-row-label{min-width:135px}}
