/* AllFileOne workflow studio family styles v3.25.28
   Consolidated from image, PNG and PDF workflow studio styles. */
*{box-sizing:border-box}
.iws-page{max-width:1500px;margin:auto;padding:22px;color:#172033;font-family:system-ui,-apple-system,"Noto Sans KR",sans-serif}
.iws-top{display:flex;gap:18px;align-items:flex-start;margin-bottom:18px}
.iws-top>a{white-space:nowrap;color:#315efb;text-decoration:none;font-weight:800}
.iws-top h1{margin:0 0 7px;font-size:clamp(25px,3vw,39px)}
.iws-top p{margin:0;color:#637086}
.iws-badge{margin-left:auto;background:#ecfdf3;color:#157347;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:850}
.iws-upload,.iws-panel{background:#fff;border:1px solid #dde3ee;border-radius:17px;box-shadow:0 8px 26px rgba(24,36,65,.06)}
.iws-upload{display:flex;align-items:center;gap:14px;padding:16px 18px;margin-bottom:18px}
.iws-upload p{margin:4px 0 0;color:#6b778c;font-size:12px}
.iws-upload button,.iws-panel button{min-height:42px;border:1px solid #cfd7e6;background:#fff;border-radius:10px;padding:8px 12px;font-weight:750;cursor:pointer}
.iws-upload button{margin-left:auto;background:#315efb;color:#fff;border-color:#315efb}
.iws-upload span{font-size:12px;color:#657187}
.iws-layout{display:grid;grid-template-columns:minmax(250px,300px) minmax(430px,1fr) minmax(270px,340px);gap:16px;align-items:start}
.iws-panel{padding:16px;min-width:0}
.iws-panel-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:12px}
.iws-panel-title h2{margin:0;font-size:18px}
.iws-panel-title p{margin:4px 0 0;color:#778298;font-size:12px}
.iws-panel-title input{width:130px;min-height:38px;border:1px solid #d5dceb;border-radius:9px;padding:7px}
.iws-categories{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.iws-categories button{min-height:34px;padding:5px 9px;font-size:12px}
.iws-categories button.active{background:#172033;color:#fff}
.iws-module-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-height:620px;overflow:auto}
.iws-module{display:grid;grid-template-columns:24px 1fr;gap:7px;border:1px solid #dce3ef;border-radius:12px;padding:11px;background:#fbfcff;cursor:grab;text-align:left}
.iws-module:hover{border-color:#315efb}
.iws-module .ico{font-size:22px}
.iws-module b,.iws-module small,.iws-module em{display:block}
.iws-module small{color:#778298;font-size:10px;margin-top:3px}
.iws-module em{width:max-content;margin-top:5px;padding:2px 6px;border-radius:999px;background:#e9f8ef;color:#157347;font-size:9px;font-style:normal;font-weight:800}
.iws-module em.planned{background:#fff1dc;color:#8b5a00}
.iws-canvas{min-height:650px}
.iws-actions{display:flex;gap:6px;flex-wrap:wrap}
.iws-actions button{font-size:11px;min-height:34px;padding:5px 8px}
.iws-pipeline{min-height:500px;border:2px dashed #cbd5e4;border-radius:15px;padding:14px;background:#f8faff;overflow:auto}
.iws-empty{min-height:430px;display:grid;place-items:center;text-align:center;color:#8490a4}
.iws-step{display:grid;grid-template-columns:26px 36px 1fr auto;gap:9px;align-items:center;background:#fff;border:1px solid #d8e0ed;border-radius:13px;padding:11px;margin-bottom:9px}
.iws-step.selected{border-color:#315efb;box-shadow:0 0 0 3px rgba(49,94,251,.1)}
.iws-handle{border:0!important;background:transparent!important;padding:0!important;cursor:grab!important;font-size:18px}
.iws-step-index{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eef2fb;font-weight:850}
.iws-step-title b,.iws-step-title small{display:block}
.iws-step-title small{font-size:11px;color:#7a879b;margin-top:3px}
.iws-step-tools{display:flex;gap:4px}
.iws-step-tools button{min-height:32px;padding:4px 7px;font-size:11px}
.iws-drop-slot{height:8px;border-radius:999px;transition:.15s}
.iws-drop-slot.active{height:38px;margin:6px 0;border:2px dashed #315efb;background:#edf3ff}
.iws-inspector-empty{padding:28px 8px;text-align:center;color:#7c889b;font-size:13px}
.iws-field{display:block;margin:12px 0;font-size:12px;font-weight:750}
.iws-field input,.iws-field select{display:block;width:100%;margin-top:5px;min-height:40px;border:1px solid #d4dceb;border-radius:9px;padding:8px}
.iws-check{display:flex!important;align-items:center;gap:8px}
.iws-check input{width:18px!important;min-height:18px!important;margin:0!important}
.iws-warning{padding:10px 12px;border-radius:10px;background:#fff7df;color:#735600;font-size:12px;margin-top:7px}
.iws-bottom{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.iws-recipes,.iws-saved{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.iws-recipes button{text-align:left}
.iws-recipes b,.iws-recipes span{display:block}
.iws-recipes span{font-size:11px;color:#748096;margin-top:4px}
.iws-name{display:block;font-size:12px;font-weight:750}
.iws-name input{display:block;width:100%;min-height:42px;margin-top:5px;border:1px solid #d4dceb;border-radius:9px;padding:8px}
.iws-save-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.iws-primary{background:#315efb!important;color:#fff;border-color:#315efb!important}
.iws-saved article{border:1px solid #dbe3ef;border-radius:12px;padding:10px}
.iws-saved h3{font-size:13px;margin:0 0 6px}
.iws-saved button{min-height:34px;font-size:11px;margin-right:4px}
.iws-estimate{margin-top:12px;padding:12px;border-radius:10px;background:#f5f7fb;color:#5f6d83;font-size:12px;line-height:1.6}
.cm-static-seo{content-visibility:auto;contain-intrinsic-size:800px;margin-top:32px;padding:24px;border-top:1px solid #e5e7eb;line-height:1.75}
.cm-static-seo h2,.cm-static-seo h3{margin-top:0}
.cm-static-seo h3{margin-top:22px}
@media(max-width:1100px){.iws-layout{grid-template-columns:270px 1fr}.iws-layout>aside:last-child{grid-column:1/-1}}
@media(max-width:760px){.iws-page{padding:14px}.iws-top{flex-wrap:wrap}.iws-badge{margin-left:0}.iws-upload{flex-direction:column;align-items:stretch}.iws-upload button{margin-left:0}.iws-layout,.iws-bottom{grid-template-columns:1fr}.iws-module-list{max-height:none}.iws-pipeline{min-height:340px}.iws-step{grid-template-columns:24px 34px 1fr}.iws-step-tools{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.iws-panel-title{flex-direction:column}.iws-panel-title input{width:100%}.iws-recipes,.iws-saved{grid-template-columns:1fr}}
.iws-input-wrap{display:flex;align-items:center;gap:0;margin-top:5px}
.iws-input-wrap input{margin-top:0!important;border-radius:9px 0 0 9px!important}
.iws-unit{min-height:40px;display:grid;place-items:center;padding:0 10px;border:1px solid #d4dceb;border-left:0;border-radius:0 9px 9px 0;background:#f6f8fc;color:#667085;font-size:11px}
.iws-warning.is-error{background:#fff0f0;color:#a52424;border:1px solid #ffc9c9}
.iws-step.has-error{border-color:#dc2626}
.iws-step.has-warning{border-color:#d97706}
.iws-execution{margin-top:16px}
.iws-execution-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.iws-execution-head h2{margin:0;font-size:19px}
.iws-execution-head p{margin:5px 0 0;color:#748096;font-size:12px}
.iws-execution-actions{display:flex;gap:8px;flex-wrap:wrap}
.iws-execution-actions button:disabled{opacity:.45;cursor:not-allowed}
.iws-progress{margin-top:14px;display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:12px;align-items:center}
.iws-progress[hidden]{display:none}
.iws-progress progress{width:100%;height:14px}
.iws-progress span{font-size:12px;color:#59677d}
.iws-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.iws-result-empty{grid-column:1/-1;color:#7b8799;font-size:13px}
.iws-result-card{border:1px solid #dbe3ef;border-radius:12px;padding:11px;display:flex;gap:10px;justify-content:space-between;align-items:center;min-width:0}
.iws-result-card.is-error{border-color:#fecaca;background:#fff7f7}
.iws-result-card div{min-width:0}
.iws-result-card b,.iws-result-card small{display:block;overflow-wrap:anywhere}
.iws-result-card b{font-size:13px}
.iws-result-card small{margin-top:4px;color:#748096;font-size:11px}
.iws-result-card button{flex:0 0 auto;min-height:36px}
.iws-step-tools button:disabled{opacity:.35;cursor:not-allowed}
@media(max-width:900px){.iws-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.iws-execution-head{flex-direction:column}.iws-execution-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.iws-execution-actions button:first-child{grid-column:1/-1}.iws-progress{grid-template-columns:1fr}.iws-results{grid-template-columns:1fr}}
/* v3.0.4 failure recovery */
.iws-result-card em{display:block;margin-top:.35rem;color:#6b7280;font-style:normal;font-size:.78rem}
.iws-recovery-actions{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}
.iws-recovery-actions button{min-height:38px}
.iws-result-card.is-error{align-items:flex-start}
.iws-result-card.is-error .iws-recovery-actions{max-width:520px}
@media(max-width:760px){.iws-recovery-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.iws-recovery-actions button{width:100%;min-height:44px}}
/* v3.0.4 recipe manager */
.iws-recipe-manager{min-width:0}
.iws-recipe-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.iws-recipe-head h2{margin:0}
.iws-recipe-head p{margin:5px 0 0;color:#748096;font-size:12px}
.iws-count{flex:0 0 auto;border-radius:999px;background:#eef2ff;color:#315efb;padding:5px 9px;font-size:11px;font-weight:850}
.iws-recipe-tools{display:grid;grid-template-columns:minmax(160px,1fr) 150px auto;gap:8px;align-items:center;margin:12px 0}
.iws-recipe-tools input[type=search],.iws-recipe-tools select{min-height:42px;border:1px solid #d4dceb;border-radius:9px;padding:8px;background:#fff}
.iws-recipe-tools label{display:flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap}
.iws-saved{grid-template-columns:1fr;max-height:560px;overflow:auto;padding-right:3px}
.iws-recipe-card{display:block!important;padding:12px!important}
.iws-recipe-card.is-active{border-color:#315efb!important;box-shadow:0 0 0 3px rgba(49,94,251,.09)}
.iws-recipe-card-head{display:flex;gap:8px;align-items:flex-start}
.iws-recipe-card-head h3{margin:1px 0 5px;font-size:14px}
.iws-recipe-card-head small{display:block;color:#748096;font-size:11px;line-height:1.45}
.iws-favorite{min-height:32px!important;width:32px;padding:0!important;font-size:19px!important;border:0!important;background:transparent!important;color:#9ca3af}
.iws-favorite.is-on{color:#f59e0b}
.iws-recipe-card-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}
.iws-recipe-card-actions button{margin:0!important;min-height:36px!important;padding:5px 7px!important}
.iws-recipe-empty{grid-column:1/-1;margin:0;padding:24px;text-align:center;color:#748096;background:#f8faff;border-radius:12px}
@media(max-width:760px){.iws-recipe-tools{grid-template-columns:1fr}.iws-recipe-card-actions{grid-template-columns:1fr 1fr}.iws-recipe-card-actions button{min-height:44px!important}}
/* v3.0.4 Stable preflight */
.iws-safe-toggle{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 10px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;font-weight:700;font-size:13px}
.iws-safe-toggle input{width:18px;height:18px}
.iws-preflight{display:grid;gap:5px;margin:14px 0;padding:13px 15px;border:1px solid #bbf7d0;border-radius:12px;background:#f0fdf4;color:#166534}
.iws-preflight span,.iws-preflight small{display:block}
.iws-preflight small{color:#475569}
.iws-preflight.is-blocked{border-color:#fecaca;background:#fef2f2;color:#991b1b}
.iws-preflight.is-blocked small{color:#991b1b}
@media(max-width:760px){.iws-safe-toggle{width:100%;justify-content:center}.iws-execution-actions{width:100%}.iws-execution-actions button{flex:1 1 140px}}
.iws-recipe-stats{margin:0 0 10px;padding:9px 11px;border-radius:10px;background:#f8faff;color:#637086;font-size:11px}
.iws-recipe-status{display:inline-flex;margin-top:6px;padding:3px 7px;border-radius:999px;font-size:10px;font-style:normal;font-weight:850}
.iws-recipe-status.ready{background:#e9f8ef;color:#157347}
.iws-recipe-status.warning{background:#fff4d8;color:#8b5a00}
.iws-recipe-status.error{background:#ffe7e7;color:#b42318}
.iws-recipe-card-actions button:disabled{opacity:.45;cursor:not-allowed}
/* v3.9.1 workflow studio wide layout */
.iws-layout{grid-template-columns:minmax(0,1fr) minmax(300px,360px);grid-template-areas:"library library" "canvas inspector";align-items:start}
.iws-layout>aside:first-child{grid-area:library}
.iws-canvas{grid-area:canvas}
.iws-layout>aside:last-child{grid-area:inspector;position:sticky;top:16px}
.iws-layout>aside:first-child .iws-panel-title{align-items:center}
.iws-layout>aside:first-child .iws-panel-title:after{content:"아이콘을 누르면 해당 편집 단계가 아래 작업 순서에 추가됩니다.";display:block;flex:1;color:#667085;font-size:12px;text-align:right}
.iws-categories{padding-bottom:10px;border-bottom:1px solid #e6eaf2}
.iws-module-list{grid-template-columns:repeat(6,minmax(0,1fr));max-height:300px;gap:8px;overflow:auto;padding:2px 3px 6px}
.iws-module{grid-template-columns:24px 1fr;padding:10px;min-height:88px;cursor:pointer}
.iws-module .ico{font-size:19px}
.iws-module b{font-size:12px}
.iws-module small{font-size:9px;line-height:1.35}
.iws-module em{font-size:8px}
.iws-canvas{min-height:580px}
.iws-pipeline{min-height:420px}
.iws-empty{min-height:360px}
@media(max-width:1250px){.iws-module-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:980px){.iws-layout{grid-template-columns:1fr;grid-template-areas:"library" "canvas" "inspector"}.iws-layout>aside:last-child{position:static;grid-column:auto}.iws-module-list{grid-template-columns:repeat(3,minmax(0,1fr));max-height:340px}.iws-layout>aside:first-child .iws-panel-title:after{display:none}}
@media(max-width:620px){.iws-module-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.iws-module{min-height:84px}.iws-layout>aside:first-child .iws-panel-title{align-items:stretch}}
/* v3.0.4 PNG compatibility inspector */
.iws-compatibility{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:10px 0 14px;padding:10px 12px;border:1px solid #cfe0ff;border-radius:12px;background:#f6f9ff;font-size:.88rem}
.iws-compatibility span{color:#50627a}
.iws-warning.is-notice{border-color:#b8e0d2;background:#f2fbf7;color:#1f6653}
.iws-module em.planned{background:#fff4dc;color:#835c06}
@media(max-width:760px){.iws-compatibility{align-items:flex-start;flex-direction:column}}
/* v3.3.2 PNG Workflow Stable Gate */
.iws-stable-gate{display:grid;gap:4px;margin-top:14px;padding:13px 15px;border:1px solid #dbe3ef;border-radius:12px;background:#f8fafc;color:#475569}
.iws-stable-gate strong,.iws-stable-gate span,.iws-stable-gate small{display:block}
.iws-stable-gate.is-passed{border-color:#86efac;background:#f0fdf4;color:#166534}
.iws-stable-gate.is-warning{border-color:#fde68a;background:#fffbeb;color:#92400e}
.iws-stable-gate.is-failed{border-color:#fecaca;background:#fef2f2;color:#991b1b}
.iws-quality-actions{display:flex;justify-content:flex-end;margin-top:8px}
.iws-quality-actions button{min-height:40px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:8px 12px;font-weight:750}
@media(max-width:760px){.iws-quality-actions button{width:100%;min-height:44px}}
.pws-page{max-width:1500px;margin:auto;padding:22px;color:#172033;font-family:system-ui,-apple-system,"Noto Sans KR",sans-serif}
.pws-top{display:flex;gap:20px;align-items:flex-start;margin-bottom:18px}
.pws-top>a{white-space:nowrap;color:#315efb;text-decoration:none;font-weight:700}
.pws-top h1{margin:0 0 7px;font-size:clamp(25px,3vw,39px)}
.pws-top p{margin:0;color:#637086}
.pws-badge{margin-left:auto;background:#edf2ff;color:#315efb;padding:7px 11px;border-radius:999px;font-size:13px;font-weight:800}
.pws-upload-card,.pws-panel{background:#fff;border:1px solid #dde3ee;border-radius:17px;box-shadow:0 8px 26px rgba(24,36,65,.06)}
.pws-upload-card{display:flex;align-items:center;gap:16px;padding:16px 18px;margin-bottom:18px}
.pws-upload-card strong{font-size:17px}
.pws-upload-card p{margin:5px 0 0;color:#68758a;font-size:13px}
.pws-upload-card button,.pws-panel button{min-height:42px;border:1px solid #cfd7e6;background:#fff;border-radius:10px;padding:8px 13px;font-weight:750;cursor:pointer}
.pws-upload-card button{margin-left:auto;background:#315efb;color:#fff;border-color:#315efb}
.pws-file-summary{font-size:13px;color:#5c6980}
.pws-layout{display:grid;grid-template-columns:minmax(245px,290px) minmax(430px,1fr) minmax(270px,330px);gap:16px;align-items:start}
.pws-panel{padding:16px;min-width:0}
.pws-panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.pws-panel-title h2{font-size:18px;margin:0}
.pws-panel-title p{font-size:12px;color:#778298;margin:4px 0 0}
.pws-panel-title input{width:130px;min-height:38px;border:1px solid #d5dceb;border-radius:9px;padding:7px}
.pws-categories{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.pws-categories button{min-height:34px;padding:5px 9px;font-size:12px}
.pws-categories button.active{background:#172033;color:#fff}
.pws-module-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-height:610px;overflow:auto;padding-right:3px}
.pws-module{border:1px solid #dce3ef;border-radius:12px;padding:11px;background:#fbfcff;cursor:grab;transition:.15s;text-align:left}
.pws-module:hover{border-color:#315efb;transform:translateY(-1px)}
.pws-module .ico{font-size:22px}
.pws-module b,.pws-module small{display:block}
.pws-module b{font-size:13px;margin-top:4px}
.pws-module small{font-size:10px;color:#778298;margin-top:3px}
.pws-canvas{min-height:650px}
.pws-actions{display:flex;gap:6px;flex-wrap:wrap}
.pws-actions button{font-size:11px;min-height:34px;padding:5px 8px}
.pws-pipeline{min-height:480px;border:2px dashed #cbd5e4;border-radius:15px;padding:14px;background:#f8faff}
.pws-pipeline.dragover{border-color:#315efb;background:#eff4ff}
.pws-empty{min-height:420px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#8490a4;text-align:center;gap:7px}
.pws-step{position:relative;display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;background:#fff;border:1px solid #d8e0ed;border-radius:13px;padding:12px;margin-bottom:10px;cursor:pointer}
.pws-step.selected{border-color:#315efb;box-shadow:0 0 0 3px rgba(49,94,251,.1)}
.pws-step.dragging{opacity:.5}
.pws-step-index{width:34px;height:34px;border-radius:50%;background:#eef2fb;display:grid;place-items:center;font-weight:850}
.pws-step-title b,.pws-step-title small{display:block}
.pws-step-title small{color:#7a879b;font-size:11px;margin-top:3px}
.pws-step-tools{display:flex;gap:4px}
.pws-step-tools button{min-height:32px;padding:4px 7px;font-size:12px}
.pws-step:not(:last-child):after{content:"↓";position:absolute;bottom:-19px;left:23px;color:#8a97aa;z-index:2}
.pws-warnings{margin-top:12px}
.pws-warning{padding:10px 12px;border-radius:10px;background:#fff7df;color:#735600;font-size:12px;margin-top:7px}
.pws-warning.error{background:#fff0f0;color:#9a2d2d}
.pws-inspector-empty{color:#7c889b;font-size:13px;padding:25px 8px;text-align:center}
.pws-inspector-form label{display:block;font-size:12px;font-weight:700;margin:12px 0}
.pws-inspector-form input,.pws-inspector-form select,.pws-inspector-form textarea{display:block;width:100%;margin-top:5px;min-height:40px;border:1px solid #d4dceb;border-radius:9px;padding:8px}
.pws-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.pws-recipes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.pws-recipes button{text-align:left}
.pws-recipes b,.pws-recipes span{display:block}
.pws-recipes span{font-size:11px;color:#748096;margin-top:4px}
.pws-name{font-size:12px;font-weight:750}
.pws-name input{width:100%;min-height:42px;margin-top:5px;border:1px solid #d4dceb;border-radius:9px;padding:8px}
.pws-save-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.pws-primary{background:#315efb!important;color:#fff;border-color:#315efb!important}
.pws-estimate{margin-top:12px;padding:12px;border-radius:10px;background:#f5f7fb;color:#5f6d83;font-size:12px;line-height:1.6}
@media(max-width:1100px){.pws-layout{grid-template-columns:260px 1fr}.pws-inspector{grid-column:1/-1}.pws-inspector-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}}
@media(max-width:760px){.pws-page{padding:14px}.pws-top{flex-wrap:wrap}.pws-badge{margin-left:0}.pws-upload-card{align-items:stretch;flex-direction:column}.pws-upload-card button{margin-left:0}.pws-layout,.pws-bottom-grid{grid-template-columns:1fr}.pws-library{order:1}.pws-canvas{order:2;min-height:0}.pws-inspector{order:3}.pws-module-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.pws-pipeline{min-height:340px}.pws-empty{min-height:300px}.pws-recipes{grid-template-columns:1fr}.pws-panel-title{align-items:flex-start;flex-direction:column}.pws-panel-title input{width:100%}.pws-step-tools{flex-direction:column}.pws-inspector-form{display:block}}
/* v2.6.2 drag-and-drop UX */
.pws-ux-guide{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 16px;padding:11px 14px;border:1px solid #dbe3f0;border-radius:13px;background:#f7f9fd;color:#56647a;font-size:12px}
.pws-ux-guide b{color:#23324c}
.pws-ux-guide span+span:before{content:"•";margin-right:10px;color:#9aa6b8}
.pws-categories button span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:5px;padding:0 5px;border-radius:999px;background:#edf1f7;color:#637086;font-size:10px}
.pws-categories button.active span{background:rgba(255,255,255,.2);color:#fff}
.pws-module{position:relative;display:grid;grid-template-columns:18px 32px 1fr;grid-template-areas:"grip ico title" "grip ico desc" "grip ico status";align-items:start;gap:0 7px}
.pws-module-grip{grid-area:grip;color:#9aa6b8;font-weight:900;cursor:grab;line-height:1.2}
.pws-module .ico{grid-area:ico}
.pws-module b{grid-area:title;margin:0}
.pws-module small{grid-area:desc}
.pws-module em{grid-area:status;width:max-content;margin-top:6px;padding:2px 6px;border-radius:999px;background:#fff1dc;color:#8b5a00;font-size:9px;font-style:normal;font-weight:800}
.pws-module em.ready{background:#e9f8ef;color:#157347}
.pws-module.dragging{opacity:.45;transform:scale(.98)}
.pws-no-results{grid-column:1/-1;padding:24px 8px;text-align:center;color:#7b8799;font-size:13px}
.pws-pipeline{overflow:auto;scroll-behavior:smooth}
.pws-drop-slot{height:8px;margin:1px 0;display:flex;align-items:center;justify-content:center;border-radius:999px;transition:height .14s,background .14s,margin .14s}
.pws-drop-slot span{opacity:0;font-size:10px;font-weight:800;color:#315efb}
.pws-pipeline.dragover .pws-drop-slot{height:14px;margin:2px 0}
.pws-drop-slot.active{height:38px;margin:7px 0;border:2px dashed #315efb;background:#edf3ff}
.pws-drop-slot.active span{opacity:1}
.pws-step{grid-template-columns:26px 42px 1fr auto;cursor:default;transition:transform .14s,box-shadow .14s,border-color .14s}
.pws-step:hover{border-color:#aebbd0}
.pws-step.disabled{opacity:.62;background:#f7f8fb}
.pws-step.dragging{opacity:.35;transform:scale(.985)}
.pws-drag-handle{min-height:42px!important;width:26px!important;padding:0!important;border:0!important;background:transparent!important;color:#8794a8;font-size:18px!important;cursor:grab!important;touch-action:none}
.pws-drag-handle:active{cursor:grabbing!important}
.pws-step-tools button:disabled{opacity:.35;cursor:not-allowed}
.pws-step:focus-visible{outline:3px solid rgba(49,94,251,.28);outline-offset:2px}
.pws-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:760px){.pws-ux-guide{align-items:flex-start;flex-direction:column;gap:5px}.pws-ux-guide span+span:before{display:none}.pws-module{grid-template-columns:16px 30px 1fr}.pws-step{grid-template-columns:24px 34px 1fr}.pws-step-tools{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;margin-top:5px}.pws-step-tools button{min-height:40px}.pws-drop-slot.active{height:44px}}
/* v2.6.2 normalized option schema */
.pws-inspector-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid #e4e9f2}
.pws-inspector-head h3{margin:0}
.pws-inspector-head p{margin:5px 0 0;color:#748096;font-size:12px}
.pws-inspector-head>span{white-space:nowrap;padding:4px 7px;border-radius:999px;background:#edf3ff;color:#315efb;font-size:10px;font-weight:850}
.pws-field{display:block;margin:12px 0;font-size:12px;font-weight:750}
.pws-field>span em{color:#dc2626;font-style:normal}
.pws-field small{display:block;margin-top:5px;color:#7a879b;font-weight:500;line-height:1.45}
.pws-check{display:flex!important;align-items:center;gap:8px;margin:0!important}
.pws-check input{width:18px!important;min-height:18px!important;margin:0!important}
.pws-multiselect{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}
.pws-multiselect label{display:flex;align-items:center;gap:6px;margin:0;padding:8px;border:1px solid #dde4ef;border-radius:8px;font-weight:600}
.pws-multiselect input{width:16px!important;min-height:16px!important;margin:0!important}
.pws-range-row{display:grid;grid-template-columns:1fr 58px;gap:8px;align-items:center;margin-top:5px}
.pws-range-row input{margin:0!important;padding:0!important}
.pws-range-row output{text-align:center;padding:7px 4px;border:1px solid #d4dceb;border-radius:8px;background:#f8fafc}
.pws-schema-status{margin-top:15px;padding:10px 12px;border-radius:10px;font-size:12px;line-height:1.55}
.pws-schema-status.valid{background:#ecfdf3;color:#157347;border:1px solid #b7ebc9}
.pws-schema-status.invalid{background:#fff1f2;color:#9f1239;border:1px solid #fecdd3}
.pws-step.selected .pws-step-title small{color:#315efb}
@media(max-width:760px){.pws-multiselect{grid-template-columns:1fr}.pws-inspector-head{align-items:flex-start}}
.pws-execution{margin-top:14px;padding:14px;border:1px solid #dbe3ef;border-radius:14px;background:#f8fafc}
.pws-execution progress{width:100%;height:14px}
.pws-execution strong{display:block;margin:8px 0}
.pws-execution-log{font-size:13px;color:#475569}
.pws-result-row{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid #e2e8f0}
.pws-result-row button{min-height:40px}
.pws-step.running{outline:3px solid #60a5fa}
.pws-step.done{outline:2px solid #34d399}
.pws-step.failed{outline:3px solid #f87171}
/* v2.6.4 recipe library and import/export manager */
.pws-recipe-manager-panel{grid-column:1/-1}
.pws-recipe-tools{display:flex;gap:8px;align-items:center}
.pws-recipe-tools input,.pws-recipe-tools select{min-height:40px;border:1px solid #d4dceb;border-radius:9px;padding:8px;background:#fff}
.pws-recipe-tools input{min-width:230px}
.pws-recipe-manager{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pws-saved-recipe{border:1px solid #dbe3ef;border-radius:14px;padding:13px;background:#fbfcff;display:flex;flex-direction:column;gap:12px}
.pws-saved-recipe.favorite{border-color:#f0c34e;background:#fffdf6}
.pws-saved-main{display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:start}
.pws-saved-main h3{margin:0;font-size:15px}
.pws-saved-main p{margin:5px 0;color:#536178;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.pws-saved-main small{color:#8590a2;font-size:10px}
.pws-favorite{min-height:34px!important;width:34px;padding:0!important;border:0!important;background:transparent!important;color:#d49a00;font-size:24px!important}
.pws-saved-actions{display:flex;gap:6px;flex-wrap:wrap}
.pws-saved-actions button{min-height:36px;font-size:11px;padding:5px 9px}
.pws-saved-actions .danger{color:#b42318;border-color:#f1b8b5}
.pws-recipe-empty{grid-column:1/-1;padding:28px;text-align:center;border:1px dashed #cfd8e7;border-radius:13px;color:#77849a}
.pws-recipe-empty b,.pws-recipe-empty span{display:block}
.pws-recipe-empty span{font-size:12px;margin-top:5px}
.pws-save-actions #pwsImport{border-style:dashed}
@media(max-width:900px){.pws-recipe-manager{grid-template-columns:1fr}.pws-recipe-tools{width:100%;flex-wrap:wrap}.pws-recipe-tools input{min-width:0;flex:1}.pws-recipe-tools select{flex:1}}
@media(max-width:560px){.pws-recipe-tools{display:grid;grid-template-columns:1fr}.pws-saved-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.pws-saved-actions button{min-height:44px}}
/* v3.0.4 failure recovery and intermediate checkpoints */
.pws-checkpoint-list{display:grid;gap:8px;margin:12px 0}
.pws-checkpoint{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid #dbe4f0;border-radius:11px;background:#fff}
.pws-checkpoint span{display:flex;flex-direction:column;gap:2px;min-width:0}
.pws-checkpoint small{color:#748096}
.pws-checkpoint button{white-space:nowrap;min-height:36px}
.pws-recovery{margin-top:12px;padding:14px;border:1px solid #f3c77a;border-radius:13px;background:#fff9e9;color:#6f4c00}
.pws-recovery b{font-size:15px}
.pws-recovery p{margin:6px 0 12px;line-height:1.55}
.pws-recovery-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pws-recovery-actions button{background:#fff}
.pws-recovery-actions #pwsRetryStep{background:#315efb;color:#fff;border-color:#315efb}
.pws-execution-log .error{color:#b42318}
.pws-execution-log .recovery{color:#315efb}
.pws-memory-note{font-size:11px;color:#77849a;margin-top:6px}
@media(max-width:620px){.pws-checkpoint{align-items:stretch;flex-direction:column}.pws-checkpoint button{width:100%}.pws-recovery-actions{grid-template-columns:1fr}}
.pws-safe-mode{display:flex;align-items:flex-start;gap:9px;margin-top:13px;padding:11px 12px;border:1px solid #dbe4f0;border-radius:11px;background:#fbfcff}
.pws-safe-mode input{width:19px;height:19px;margin-top:2px}
.pws-safe-mode span,.pws-safe-mode b,.pws-safe-mode small{display:block}
.pws-safe-mode small{margin-top:3px;color:#718096;font-weight:500}
.pws-preflight{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.pws-preflight>div{padding:10px;border:1px solid #dbe4f0;border-radius:11px;background:#fff;min-width:0}
.pws-preflight b,.pws-preflight span{display:block}
.pws-preflight b{font-size:11px;color:#64748b}
.pws-preflight span{margin-top:4px;font-size:13px;font-weight:800;overflow-wrap:anywhere}
.pws-preflight .wide{grid-column:1/-1}
.pws-preflight .warn{border-color:#f3c77a;background:#fff9e9;color:#775300}
.pws-preflight .error{border-color:#fecaca;background:#fff1f2;color:#991b1b}
.pws-preflight .ok{border-color:#bbebca;background:#f0fdf4;color:#166534}
.pws-module em.experimental{background:#f3e8ff;color:#7e22ce}
.pws-stable-note{margin-top:8px;font-size:11px;color:#64748b}
@media(max-width:760px){.pws-preflight{grid-template-columns:repeat(2,minmax(0,1fr))}.pws-preflight .wide{grid-column:1/-1}}
.pws-layout{grid-template-columns:minmax(0,1fr) minmax(300px,360px);grid-template-areas:"library library" "canvas inspector";align-items:start}
.pws-library{grid-area:library}
.pws-canvas{grid-area:canvas}
.pws-inspector{grid-area:inspector;position:sticky;top:16px}
.pws-library .pws-panel-title{align-items:center}
.pws-library .pws-panel-title:after{content:"아이콘을 누르면 해당 작업 단계가 아래 작업 순서에 추가됩니다.";display:block;flex:1;color:#667085;font-size:12px;text-align:right}
.pws-categories{padding-bottom:10px;border-bottom:1px solid #e6eaf2}
.pws-module-list{grid-template-columns:repeat(6,minmax(0,1fr));max-height:300px;gap:8px;overflow:auto;padding:2px 3px 6px}
.pws-module{grid-template-columns:16px 28px 1fr;padding:10px;min-height:92px;cursor:pointer}
.pws-module .ico{font-size:19px}
.pws-module b{font-size:12px}
.pws-module small{font-size:9px;line-height:1.35}
.pws-module em{font-size:8px}
.pws-canvas{min-height:580px}
.pws-pipeline{min-height:420px}
.pws-empty{min-height:360px}
@media(max-width:1250px){.pws-module-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:980px){.pws-layout{grid-template-columns:1fr;grid-template-areas:"library" "canvas" "inspector"}.pws-inspector{position:static}.pws-module-list{grid-template-columns:repeat(3,minmax(0,1fr));max-height:340px}.pws-library .pws-panel-title:after{display:none}}
@media(max-width:620px){.pws-module-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.pws-module{min-height:86px}.pws-library .pws-panel-title{align-items:stretch}}
