/* Role panels use the same controls and colors as the planning workspace. */
.wf-scroll-hint{display:none}
.wf-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:20px 0}.wf-toolbar label{margin:0;min-width:150px}.wf-toolbar label>input,.wf-toolbar label>select{margin-top:6px}.wf-toolbar>span{padding:10px 0;color:var(--muted);font-size:12px}.wf-segment{display:flex;border:1px solid var(--line);border-radius:10px;background:white;padding:3px}.wf-segment button{min-height:38px;padding:8px 15px;border-radius:7px;font-size:12px}.wf-segment button[aria-pressed=true]{background:var(--teal);color:white}.wf-explanation{color:var(--muted);font-size:12px;line-height:1.8;margin:12px 0}.wf-empty{text-align:center;padding:38px 22px;border:1px dashed #cbd9d2;border-radius:12px;background:#fafcf9}.wf-empty h3{font-size:17px}.wf-empty p{max-width:500px;margin:10px auto 0;color:var(--muted);font-size:13px}.wf-loading{background:white;border:1px solid var(--line);border-radius:12px;padding:40px;text-align:center;color:var(--muted)}.wf-padding{padding:20px;color:var(--muted)}.wf-muted{color:var(--muted)}
.wf-team-summary{display:flex;align-items:center;gap:35px;border-radius:15px;padding:25px;background:#edf6f0;border:1px solid #d0e5d8;margin-bottom:28px}.wf-team-summary>div:first-child{margin-right:auto}.wf-team-summary h2{font-size:22px}.wf-team-summary p{font-size:12px;color:#5d766b;margin-top:8px}.wf-team-total{display:grid;gap:3px;min-width:95px}.wf-team-total strong{font-size:32px;color:var(--teal-dark);font-variant-numeric:tabular-nums;line-height:1.15}.wf-team-total span{font-size:11px;color:#58766b}.wf-step{display:flex;gap:13px;align-items:flex-start;margin:24px 0 18px}.wf-step>span,.wf-next-step>span{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;background:var(--teal);color:white;border-radius:50%;font-weight:700}.wf-step h2{font-size:19px}.wf-step p{font-size:12px;color:var(--muted);margin-top:5px}.wf-attendance-list{display:grid;gap:9px}.wf-person{display:flex;align-items:center;gap:18px;padding:16px 20px;background:white;border:1px solid var(--line);border-radius:12px}.wf-person.is-absent{background:#f8f8f6;color:#89958e}.wf-presence{display:flex;align-items:center;gap:14px;margin:0;flex:1;min-width:160px;cursor:pointer}.wf-presence input{width:26px!important;height:26px;min-height:26px;flex-shrink:0;cursor:pointer}.wf-presence strong{font-size:14px;display:block}.wf-presence small{display:block;color:var(--muted);font-weight:400;margin-top:4px}.wf-person-hours{font-size:13px;text-align:right;min-width:110px;font-variant-numeric:tabular-nums}.wf-person-hours small{display:block;color:var(--muted);margin-top:3px}.wf-save-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:18px 0 28px}.wf-save-row .primary{min-height:47px;font-size:14px;padding:12px 22px}.wf-save-row>span{font-size:12px;color:var(--muted)}.wf-next-step{display:flex;align-items:center;gap:16px;padding:24px;border-radius:13px;background:var(--teal-soft);border:1px solid #bedbcc;margin:28px 0}.wf-next-step>div{flex:1}.wf-next-step strong{font-size:18px}.wf-next-step small{display:block;font-size:12px;color:#517166;margin-top:4px}.wf-next-step:hover{background:#d8eee2}.wf-section{margin-top:24px}.wf-overtime-list{padding:0 20px 8px}.wf-overtime-list article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-top:1px solid var(--line)}.wf-overtime-list strong{font-size:13px}.wf-overtime-list p{font-size:12px;margin-top:5px}.wf-overtime-list small{color:var(--muted);font-size:11px;display:block;margin-top:5px}
.wf-calendar-summary{display:flex;justify-content:space-between;gap:15px;font-size:13px;flex-wrap:wrap}.wf-calendar-summary>span{color:var(--teal);font-weight:600}.wf-calendar-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:white;margin:20px 0}.wf-capacity-table{border-collapse:separate;border-spacing:0;min-width:100%;font-size:12px}.wf-capacity-table th,.wf-capacity-table td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:12px;text-align:center;vertical-align:middle;min-width:135px}.wf-capacity-table tr:last-child th,.wf-capacity-table tr:last-child td{border-bottom:0}.wf-capacity-table th:first-child{position:sticky;left:0;z-index:1;background:#f6f8f4;text-align:left;min-width:155px;max-width:220px}.wf-capacity-table thead th{background:#f6f8f4}.wf-capacity-table thead small{display:block;font-weight:400;margin-top:3px}.wf-capacity-cell{border-radius:9px;width:100%;padding:9px 6px;min-height:90px;text-align:center;background:#f5f7f4}.wf-capacity-cell.is-confirmed{background:var(--teal-soft)}.wf-capacity-cell:hover{outline:1px solid var(--teal)}.wf-capacity-cell strong,.wf-capacity-cell span,.wf-capacity-cell small{display:block}.wf-capacity-cell strong{font-size:14px}.wf-capacity-cell span{font-size:11px;margin:5px 0}.wf-capacity-cell small{font-size:10px;color:var(--muted);max-width:150px}.wf-inline-check{display:flex!important;gap:10px;align-items:center;min-height:35px;margin:14px 0;font-size:13px}.wf-inline-check input{flex-shrink:0;margin:0!important}.wf-weekdays,.wf-overtime-people{border:1px solid var(--line);border-radius:10px;padding:15px;margin-top:18px}.wf-weekdays legend,.wf-overtime-people legend{font-weight:650;font-size:13px;padding:0 6px}.wf-weekdays{display:flex;gap:14px;flex-wrap:wrap}.wf-weekdays label,.wf-overtime-people>label{display:flex;align-items:center;gap:8px;font-size:12px;margin-bottom:5px}.wf-overtime-people{max-height:330px;overflow:auto}.wf-overtime-people>label{padding:8px 0;border-bottom:1px solid #eef1ec}.wf-overtime-people .field{margin-top:16px;max-width:280px}.wf-employee-table{min-width:850px}.wf-employee-table td{vertical-align:middle}.wf-employee-table small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.wf-employee-table strong{font-size:13px}
.wf-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}.wf-kpis article{background:var(--navy);color:white;padding:23px;border-radius:12px}.wf-kpis article:first-child{background:var(--teal-dark)}.wf-kpis span{display:block;color:#b7c9ce;font-size:11px}.wf-kpis strong{display:block;font-size:32px;font-weight:650;letter-spacing:-.6px;margin:14px 0 6px;font-variant-numeric:tabular-nums;line-height:1.15}.wf-kpis small{color:#aec6c7;font-size:10px}.wf-trend{padding-bottom:20px;margin-bottom:28px}.wf-trend>.wf-chart,.wf-trend>.wf-chart-empty{margin:0 24px;width:calc(100% - 48px)}.wf-chart{display:block;width:100%;max-height:280px;overflow:visible}.wf-chart polyline{fill:none;stroke:var(--teal);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}.wf-chart circle{fill:var(--teal)}.wf-chart .wf-grid-line{stroke:#e5ebe5;stroke-width:1;stroke-dasharray:3 5}.wf-chart .wf-axis{font-size:10px;fill:#7c8c83;font-family:var(--font)}.wf-chart.is-mini{height:50px;max-width:150px;min-width:85px}.wf-chart.is-mini polyline{stroke-width:2}.wf-chart-dates{display:flex;justify-content:space-between;padding:0 25px;font-size:10px;color:var(--muted)}.wf-chart-empty{display:grid;place-items:center;text-align:center;color:var(--muted);min-height:120px;padding:25px;font-size:12px;background:repeating-linear-gradient(0deg,transparent,transparent 35px,#edf1eb 36px);border-radius:8px}.wf-product-quote .wf-chart-empty{min-height:45px;width:100px;padding:8px;font-size:10px}.wf-product-section{margin:30px 0}.wf-section-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.wf-section-title h2{font-size:20px}.wf-section-title p{font-size:12px;color:var(--muted);margin-top:5px}.wf-search-label{margin:0;min-width:220px;font-size:11px}.wf-search-label input{margin-top:7px}.wf-market-grid{display:grid;grid-template-columns:minmax(320px,1fr) minmax(340px,1.35fr);gap:20px;align-items:start}.wf-product-list{max-height:550px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:white}.wf-product-quote{display:flex;width:100%;gap:12px;align-items:center;text-align:left;padding:16px;border-bottom:1px solid var(--line);background:white}.wf-product-quote:hover,.wf-product-quote.is-selected{background:#eef7f0}.wf-product-quote.is-selected{box-shadow:inset 3px 0 var(--teal)}.wf-product-quote>span:first-child{min-width:0;flex:1}.wf-product-quote>span:first-child strong{font-size:12px;display:block;overflow-wrap:anywhere}.wf-product-quote>span:first-child small{font-size:10px;display:block;color:var(--muted);margin-top:4px}.wf-quote-number{text-align:right;flex-shrink:0}.wf-quote-number>strong{font-size:20px;font-variant-numeric:tabular-nums;line-height:1.15;display:block}.wf-quote-number>small{font-size:9px;color:var(--muted);display:block;margin-top:3px}.wf-change{display:inline-block;font-size:11px;font-weight:650;margin-top:5px}.wf-change.is-faster{color:#147a4e}.wf-change.is-slower{color:#b14d45}.wf-product-detail{padding:26px;min-height:480px}.wf-product-detail>h2{font-size:19px;overflow-wrap:anywhere;line-height:1.45}.wf-product-detail>p{font-size:11px;color:var(--muted);margin-top:8px}.wf-product-main{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin:24px 0}.wf-product-main>strong{font-size:40px;font-weight:650;letter-spacing:-1px;font-variant-numeric:tabular-nums}.wf-product-main>span{font-size:12px}.wf-product-detail>.wf-explanation{font-size:12px;line-height:1.8;margin-top:24px}.wf-data-notes{padding:20px;margin-top:22px;border-top:1px solid var(--line)}.wf-data-notes summary{cursor:pointer;color:var(--teal);font-size:12px}.wf-data-notes p{font-size:11px;color:var(--muted);margin-top:10px;line-height:1.8}
.wf-production-card{background:white;border:1px solid #d5e4da;border-radius:13px;padding:24px;display:flex;flex-direction:column;min-width:0}.wf-production-title h3{font-size:18px;line-height:1.5;overflow-wrap:anywhere}.wf-production-title p{font-size:12px;color:var(--muted);margin-top:7px}.wf-production-quantities{display:flex;gap:36px;margin:22px 0;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.wf-production-quantities>div{flex:1}.wf-production-quantities span{display:block;font-size:12px;color:var(--muted)}.wf-production-quantities strong{display:block;font-size:30px;color:var(--teal-dark);font-variant-numeric:tabular-nums;margin-top:8px;line-height:1.1}.wf-production-quantities small{font-size:11px;font-weight:400;margin-left:7px;color:var(--muted)}.wf-production-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:auto}.wf-production-actions>.primary{font-size:15px;min-height:48px;padding:12px 20px}.wf-production-actions>.secondary{font-size:13px;min-height:48px}.wf-production-reason{background:var(--amber-soft);padding:13px;border-radius:8px;font-size:12px;line-height:1.7;color:#865d20;margin-bottom:17px}.wf-production-card.is-waiting{background:#fbfbf8}.wf-production-details{border-top:1px solid var(--line);margin-top:20px;padding-top:14px;font-size:11px;color:var(--muted)}.wf-production-details summary{cursor:pointer;color:var(--teal)}.wf-production-details p{margin-top:10px}.wf-production-session{color:var(--teal);font-size:11px;margin-top:12px}
@media(min-width:1400px){.wf-attendance-list{grid-template-columns:repeat(2,minmax(0,1fr))}.wf-person{gap:12px;padding:16px}.wf-person-hours{min-width:90px}.wf-presence{min-width:130px}}
@media(max-width:680px){.wf-scroll-hint{display:block;font-size:11px;color:var(--muted);margin:14px 0 6px}.wf-calendar-wrap{margin-top:8px}.wf-capacity-table th:first-child{min-width:110px;max-width:125px;white-space:normal;font-size:11px;box-shadow:3px 0 7px #142b360b}.wf-capacity-table td,.wf-capacity-table th{min-width:125px;padding:8px}.wf-employee-table{display:block;min-width:0;width:100%}.wf-employee-table thead{display:none}.wf-employee-table tbody{display:block}.wf-employee-table tr{display:block;border-bottom:1px solid var(--line);padding:13px 17px}.wf-employee-table td{display:block;border:0;padding:7px 0;white-space:normal;font-size:12px;min-width:0;max-width:none}.wf-employee-table td[data-label]:not(:first-child):before{content:attr(data-label);display:block;color:var(--muted);font-size:10px;margin-bottom:3px}.wf-employee-table td:first-child strong{font-size:16px}.wf-employee-table td:first-child{padding-bottom:11px;margin-bottom:7px;border-bottom:1px solid #edf1eb}.wf-employee-table td:last-child .button{width:100%;font-size:13px;min-height:43px}.wf-employee-table tr:last-child{border-bottom:0}}
@media(max-width:1100px){.wf-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.wf-market-grid{grid-template-columns:1fr}.wf-product-list{max-height:330px}.wf-product-detail{min-height:0}.wf-product-quote .wf-chart.is-mini{max-width:150px}}
@media(max-width:680px){.wf-toolbar{gap:10px}.wf-toolbar>label{flex:1;min-width:130px}.wf-team-summary{padding:20px;gap:18px;flex-wrap:wrap}.wf-team-summary>div:first-child{flex-basis:100%}.wf-team-total{min-width:100px}.wf-person{flex-wrap:wrap;padding:15px;gap:12px}.wf-presence{flex-basis:calc(100% - 125px)}.wf-person-hours{min-width:95px;font-size:12px}.wf-person>.button{margin-left:40px}.wf-save-row>.button{flex:1}.wf-save-row>span{flex-basis:100%}.wf-next-step{padding:20px 16px}.wf-next-step strong{font-size:16px}.wf-section-title{display:block}.wf-search-label{margin-top:16px}.wf-kpis{gap:9px}.wf-kpis article{padding:17px}.wf-kpis strong{font-size:27px}.wf-kpis span{font-size:10px;min-height:30px}.wf-product-detail{padding:20px}.wf-overtime-list{padding:0 15px}.wf-overtime-list article{align-items:flex-start}.wf-calendar-summary{display:block}.wf-calendar-summary span{display:block;margin-top:6px}.wf-product-quote{gap:10px;padding:14px}.wf-product-quote .wf-chart.is-mini{max-width:85px;min-width:65px}.wf-toolbar .wf-segment{flex:1}.wf-toolbar .wf-segment button{flex:1}.wf-trend>.wf-chart{margin:0 12px;width:calc(100% - 24px)}}
