/* The app is the editable work surface; no device shell or presentation toolbar. */
.workflow-form { --wf-accent:#007aff; --wf-tint:#eaf3ff; color:#1d1d1f; background:#f7f7f9; width:100%; height:100%; min-height:0; margin:0; display:flex; flex-direction:column; font:400 12px/1.45 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif; text-align:left; overflow:hidden; }
.workflow-form *, .workflow-form *::before, .workflow-form *::after { box-sizing:border-box; }
.workflow-form button,.workflow-form input,.workflow-form select { font:inherit; letter-spacing:inherit; }
.workflow-form button { cursor:pointer; }
.workflow-form svg { display:block; flex-shrink:0; }
.workflow-form h2,.workflow-form h3,.workflow-form h4,.workflow-form p { margin:0; }
.wf-record { padding:1.7em 2em 1.45em; display:flex; justify-content:space-between; align-items:center; gap:1em; flex:none; background:#fff; border-bottom:1px solid #e9e9ef; }
.wf-record p { font-size:.9em; color:#86868b; font-weight:500; margin-bottom:.35em; }
.wf-record h2 { font-size:1.9em; font-weight:650; letter-spacing:-.04em; line-height:1.2; color:#1d1d1f; }
.wf-record-icon { width:2.7em; height:2.7em; background:var(--wf-tint); color:var(--wf-accent); border-radius:.9em; display:grid; place-items:center; }
.wf-record-icon svg { width:1.35em; height:1.35em; }
.wf-body { min-height:0; flex:1; display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); }
.wf-input-pane { min-height:0; display:flex; flex-direction:column; overflow:auto; padding:1.6em 1.8em 1.7em; border-right:1px solid #e7e7ed; scrollbar-width:thin; scrollbar-color:#d8d8df transparent; }
.wf-pane-heading { display:flex; justify-content:space-between; align-items:center; gap:.8em; font-size:1em; font-weight:600; color:#1d1d1f; margin-bottom:1.35em; min-height:1.4em; }
.wf-caption { color:#96969d; font-size:.85em; font-weight:400; }
.wf-fields { display:flex; flex-direction:column; gap:1em; }
.wf-field { min-width:0; display:flex; flex-direction:column; gap:.42em; margin:0; }
.wf-field > label { font-size:.95em; color:#626268; font-weight:500; line-height:1.35; }
.wf-input-shell { display:flex; align-items:center; min-height:3.1em; border:1px solid #ddddE5; border-radius:.85em; background:#fff; box-shadow:0 1px 2px #00000002; overflow:hidden; transition:border-color .18s,box-shadow .18s; }
.wf-input-shell:focus-within { border-color:#8bbcf8; box-shadow:0 0 0 3px #007aff14; }
.wf-input-shell:has(.is-demo-focused),.wf-input-shell.is-demo-focused { border-color:#68a9fb; box-shadow:0 0 0 3px #007aff1a; background:#fcfdff; }
.wf-checkbox:has(input.is-demo-focused),.wf-checkbox.is-demo-focused { border-color:#68a9fb; box-shadow:0 0 0 3px #007aff1a; }
.wf-run.is-demo-focused { box-shadow:0 0 0 4px #007aff22,0 3px 9px #007aff28; }
.wf-input-shell input,.wf-input-shell select { min-width:0; width:100%; color:#1d1d1f; font-size:1.08em; font-weight:500; border:0; outline:0; background:transparent; padding:.7em .85em; line-height:1.2; margin:0; border-radius:0; box-shadow:none; height:auto; }
.wf-input-shell input[type=number] { font-variant-numeric:tabular-nums; -moz-appearance:textfield; }
.wf-input-shell input[type=number]::-webkit-outer-spin-button,.wf-input-shell input[type=number]::-webkit-inner-spin-button { appearance:none; margin:0; }
.wf-affix { font-size:1.05em; padding-left:.85em; color:#96969d; line-height:1; flex:none; }
.wf-affix + input { padding-left:.4em; }
.wf-affix.wf-suffix { padding:0 .85em 0 0; font-size:.9em; white-space:nowrap; }
.wf-select-shell { position:relative; }
.wf-input-shell select { appearance:none; cursor:pointer; padding-right:2em; }
.wf-select-chevron { pointer-events:none; position:absolute; right:.8em; color:#828289; font-size:1.2em; transform:translateY(-.1em); }
.wf-checkbox { position:relative; display:flex; flex-direction:row; justify-content:space-between; align-items:center; padding:.9em 1em; min-height:3.8em; border-radius:1em; border:1px solid #e7e7ed; background:#fff; cursor:pointer; gap:1em; }
.wf-checkbox-label { color:#4a4a50; font-weight:500; font-size:1em; }
.wf-checkbox input { position:absolute; opacity:0; width:100%; height:100%; inset:0; margin:0; cursor:pointer; z-index:1; }
.wf-switch { width:2.9em; height:1.75em; border-radius:2em; background:#dcdcE3; position:relative; flex:none; transition:background .2s; }
.wf-switch::after { content:""; width:1.42em; height:1.42em; position:absolute; top:.16em; left:.17em; border-radius:50%; background:#fff; box-shadow:0 1px 3px #0002; transition:transform .2s; }
.wf-checkbox input:checked + .wf-switch { background:#34c759; }
.wf-checkbox input:checked + .wf-switch::after { transform:translateX(1.15em); }
.wf-checkbox input:focus-visible + .wf-switch { outline:2px solid #007aff; outline-offset:3px; }
.wf-run { margin-top:auto; padding:.95em 1.1em; border:0; border-radius:.95em; background:#007aff; color:#fff; font-size:1.02em!important; font-weight:600!important; line-height:1.3; display:flex; justify-content:space-between; align-items:center; gap:.8em; box-shadow:0 2px 4px #007aff12; min-height:3.2em; flex:none; transition:background .15s,transform .15s; }
.wf-fields + .wf-error + .wf-run { margin-top:1.65em; }
.wf-run svg { width:1.35em; height:1.35em; }
.wf-run:hover { background:#006de5; }
.wf-run:active { transform:scale(.98); }
.wf-run:disabled { cursor:progress; opacity:.55; }
.wf-run:focus-visible,.wf-download:focus-visible { outline:2px solid #007aff; outline-offset:3px; }
.wf-error { color:#b32922; background:#fff0ee; border-radius:.7em; padding:.6em .8em; font-size:.9em; margin-top:1em!important; }
.wf-error[hidden] { display:none; }
.wf-output { min-width:0; min-height:0; overflow:auto; position:relative; padding:1.6em 1.8em 1.7em; background:#fff; scrollbar-width:thin; scrollbar-color:#d8d8df transparent; }
.wf-empty { text-align:center; padding:2em .8em 0; position:relative; z-index:1; }
.wf-empty-symbol { display:grid; place-items:center; width:4em; height:4em; border-radius:1.25em; background:#f2f4f8; color:#a8b4c6; margin:0 auto 1.15em; border:1px solid #e9edf4; }
.wf-empty-symbol svg { width:1.85em; height:1.85em; }
.wf-empty h3 { font-size:1.25em; font-weight:600; letter-spacing:-.025em; margin-bottom:.55em; }
.wf-empty p { color:#97979e; font-size:.95em; line-height:1.55; max-width:21em; margin:0 auto; }
.wf-preview-paper { margin:2.3em auto 0; width:86%; padding:1.3em; border:1px solid #ececf1; border-radius:.95em; background:linear-gradient(#fcfcfd,#fff); transform:rotate(-3deg); opacity:.8; box-shadow:0 6px 14px #00000003; }
.wf-paper-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:1.25em; }
.wf-paper-top span { width:1.8em; height:2.1em; border-radius:.35em; background:#e9edf5; }
.wf-paper-top i { width:3em; height:.6em; background:#efeff3; border-radius:1em; }
.wf-paper-line { width:80%; height:.55em; border-radius:1em; background:#eeeef3; margin:.7em 0; }
.wf-paper-line.short { width:55%; }
.wf-paper-table { margin-top:1.2em; }
.wf-paper-table i { display:block; height:1.5em; border-top:1px solid #ededf1; }
.wf-progress { max-width:11em; height:.28em; border-radius:1em; margin:1.2em auto 0; background:#e8f1ff; overflow:hidden; }
.wf-progress span { display:block; width:45%; height:100%; background:#007aff; border-radius:1em; animation:wf-progress 1s ease-in-out infinite; }
.wf-empty.is-processing .wf-empty-symbol { background:#eef5ff; border-color:#deecff; color:#007aff; }
.wf-result-state { display:flex; align-items:center; gap:.4em; color:#278545; font-size:.83em; font-weight:500; }
.wf-result-state svg { width:1.1em; height:1.1em; }
.wf-result-head { margin-bottom:1.35em; }
.wf-result-head > p { color:#66666d; font-size:.98em; margin-bottom:.45em; }
.wf-result-value { font-size:3.3em; letter-spacing:-.055em; font-weight:650; line-height:1.12; color:#1d1d1f; display:flex; flex-wrap:wrap; align-items:baseline; column-gap:.2em; font-variant-numeric:tabular-nums; }
.wf-result-value > span { font-size:.32em; font-weight:500; color:#8d8d94; letter-spacing:0; }
.wf-result-detail { color:#66666d; font-size:.9em; line-height:1.45; margin-top:.6em; }
.wf-result-rows { margin:0 0 1.4em; }
.wf-result-rows > div { display:flex; justify-content:space-between; gap:1em; padding:.68em 0; border-bottom:1px solid #ededf2; font-size:.95em; }
.wf-result-rows dt { color:#86868b; flex:1; }
.wf-result-rows dd { margin:0; color:#333338; font-weight:550; text-align:right; font-variant-numeric:tabular-nums; }
.wf-artifact { padding:1em 1.1em; border-radius:1em; background:#f7f9fc; border:1px solid #e7ecf3; }
.wf-artifact-heading { display:flex; align-items:center; gap:.8em; }
.wf-file-icon { flex:none; width:2.4em; height:2.7em; display:grid; place-items:center; color:#007aff; background:#e9f2ff; border-radius:.7em; }
.wf-file-icon svg { width:1.4em; height:1.4em; }
.wf-artifact-heading > div { min-width:0; flex:1; }
.wf-artifact-heading small { color:#8a8a91; font-size:.75em; display:block; margin-bottom:.12em; }
.wf-artifact-heading h4 { font-size:1em; font-weight:600; line-height:1.3; letter-spacing:-.015em; }
.wf-download { border:0; color:#007aff; background:#eaf2ff; border-radius:.65em; width:2.6em; height:2.6em; padding:.6em; flex:none; transition:background .15s; }
.wf-download svg { width:100%; height:100%; }
.wf-download:hover { background:#dcecff; }
.wf-artifact ul { padding:0; margin:.9em 0 0; list-style:none; display:flex; flex-direction:column; gap:.4em; }
.wf-artifact li { color:#74747b; font-size:.87em; line-height:1.45; padding-left:.8em; position:relative; }
.wf-artifact li::before { content:""; position:absolute; width:3px; height:3px; border-radius:50%; background:#a0adc0; left:0; top:.6em; }
.wf-context-visual { margin:-.8em 0 .85em; background:var(--wf-tint); border-radius:.85em; color:var(--wf-accent); overflow:hidden; }
.wf-context-art { width:100%; height:4.8em; }
.wf-fields-compact { gap:.65em; }
.wf-fields-compact .wf-input-shell { min-height:2.7em; }
.wf-fields-compact .wf-checkbox { min-height:3.2em; padding:.7em .9em; }
.wf-result { animation:wf-reveal .4s cubic-bezier(.22,.8,.3,1) both; }
.wf-result.is-warning .wf-result-state { color:#ae731b; }
.wf-result.is-warning .wf-artifact { background:#fffbf4; border-color:#f0e8da; }
.wf-accounting { --wf-accent:#28917b; --wf-tint:#eff8f4; }
.wf-law { --wf-accent:#907452; --wf-tint:#f6f2ed; }
.wf-architecture { --wf-accent:#537899; --wf-tint:#eff5f9; }
.wf-marketing { --wf-accent:#9973bf; --wf-tint:#f7f2fb; }
.wf-recruitment { --wf-accent:#668dc6; --wf-tint:#f1f5fc; }
.wf-logistics { --wf-accent:#529088; --wf-tint:#eff8f5; }
@container (max-width:760px) {
  .workflow-form { font-size:1.58cqw; }
}
@keyframes wf-reveal { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:translateY(0); } }
@keyframes wf-progress { from { transform:translateX(-110%); } to { transform:translateX(330%); } }
@media(prefers-reduced-motion:reduce) { .wf-result,.wf-progress span { animation:none; } .wf-progress span { width:65%; } .wf-switch,.wf-switch::after { transition:none; } }
