/* 수주·공급·재고 업무 모듈. 기존 공통 디자인 토큰을 사용합니다. */
.workflow-dialog{width:min(1100px,94vw);max-width:1100px}
.workflow-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:20px 0}
.workflow-metrics .metric-value{font-size:clamp(17px,1.6vw,27px);overflow-wrap:anywhere}
.workflow-dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}
.workflow-dashboard-kpis .metric-value{font-size:clamp(20px,2vw,31px);overflow-wrap:anywhere}
.supply-editor{padding:20px;border:1px solid #c9dbd3;background:#f6faf7;border-radius:10px;margin:22px 0}
.supply-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.supply-title h3{margin:0 0 5px;color:var(--green-dark)}
.supply-title p{margin:0 0 14px;font-size:12px;color:var(--muted)}
.supply-title .flex{flex-wrap:wrap;gap:6px}
.supply-guide{padding:13px 15px;font-size:12px;line-height:1.8;background:#eaf2ed;color:#395749;border-radius:6px;margin:12px 0}
.supply-rows{display:grid;gap:10px;margin-top:15px}
.supply-row{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:#fff;padding:14px;border-radius:8px;flex-wrap:wrap}
.supply-row>label{flex:1;min-width:135px;font-size:11px;color:var(--muted)}
.supply-row>label:first-of-type{flex:2}
.supply-row input,.supply-row select{margin-top:5px;width:100%}
.supply-new-note{flex:2;min-width:150px;font-size:12px;color:var(--muted)}
.supply-summary{padding:14px 0 0;font-size:12px;font-weight:700;color:#996226}
.supply-summary.is-balanced{color:#176437}
.form-section-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:12px 0 18px;font-size:12px;color:var(--muted)}
.approval-strip{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;background:#fff9e9;border:1px solid #eadfbd;border-radius:6px;margin:8px 0;font-size:11px;white-space:normal}
.approval-strip span{overflow-wrap:anywhere}
.row-actions,.manual-status{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.manual-status{gap:10px}
.manual-stage-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.manual-stage-inline input{flex:1;min-width:140px}
.receipt-action{margin-top:7px;font-size:10px}
.workflow-filter{flex-wrap:wrap}
.workflow-filter>input[type=search]{flex:1;min-width:200px}
.workflow-filter>label{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}
.workflow-filter input[type=date],.workflow-filter input[type=month]{width:auto;min-width:135px}
.workflow-tabs{overflow-x:auto;white-space:nowrap;flex-wrap:nowrap}
.confirm-check{display:flex;gap:9px;align-items:flex-start;font-size:12px;padding:12px;background:#fff5ee;margin:15px 0}
.confirm-check input{width:auto;margin-top:3px}
.request-values{padding:16px;background:#f8faf9;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}
.request-business-values{padding:10px 0}.request-business-row{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px;padding:9px 12px;border-bottom:1px solid var(--line);font-size:12px;overflow-wrap:anywhere}.request-business-row>strong{color:var(--muted);font-size:11px}.request-section{border:1px solid var(--line);border-radius:6px;margin:8px 0}.request-business-row .request-business-row{grid-template-columns:115px minmax(0,1fr)}
.workflow-dashboard-kpis .metric-foot{line-height:1.7}
.dashboard-grid>.fx-card{width:100%;justify-self:stretch}
.panel+.panel{margin-top:18px}
@media(max-width:1150px){.workflow-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.workflow-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.workflow-metrics,.workflow-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.workflow-metrics .metric-value{font-size:20px}.supply-editor{padding:12px}.supply-row{padding:10px}.supply-row>.badge{width:100%}.supply-row>label{min-width:100px}.supply-title .button{font-size:10px}.approval-strip{align-items:flex-start;flex-direction:column}.workflow-filter>input,.workflow-filter>select{width:100%}.manual-status .button{flex:1}}
@media(max-width:380px){.workflow-metrics,.workflow-dashboard-kpis{grid-template-columns:minmax(0,1fr)}}

/* All table lists own their vertical scroll area and keep column headings visible. */
.table-wrap{position:relative;max-height:clamp(220px,55dvh,620px);overflow:auto;scrollbar-gutter:stable}
.table-wrap table{border-collapse:separate;border-spacing:0}
.table-wrap thead th{position:sticky;top:0;z-index:2;background:#fafbfc;box-shadow:0 1px 0 var(--line)}
.inventory-section-stack{display:grid;gap:18px;min-width:0}
.inventory-section-stack>.panel{min-width:0;margin:0}
