:root{--bizos-flow-accent:#2563eb;--bizos-flow-bg:#fff;--bizos-flow-panel:#f8fafc;--bizos-flow-text:#172033;--bizos-flow-muted:#64748b;--bizos-flow-border:#dbe3ee;--bizos-flow-danger:#dc2626}
html[data-theme="dark"],html.dark{--bizos-flow-bg:#171719;--bizos-flow-panel:#202024;--bizos-flow-text:#f7f7f8;--bizos-flow-muted:#a1a1aa;--bizos-flow-border:#3f3f46}
.bizos-flow-lock{overflow:hidden!important}
.bizos-flow-open{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:42px;padding:.65rem 1rem;border:1px solid color-mix(in srgb,var(--bizos-flow-accent) 35%,var(--bizos-flow-border));border-radius:10px;background:color-mix(in srgb,var(--bizos-flow-accent) 10%,var(--bizos-flow-bg));color:var(--bizos-flow-accent);font:inherit;font-weight:750;cursor:pointer}
.bizos-flow-open:hover{background:color-mix(in srgb,var(--bizos-flow-accent) 16%,var(--bizos-flow-bg))}
.bizos-flow-overlay{position:fixed;inset:0;z-index:2147482000;display:grid;place-items:center;padding:20px;background:rgba(8,15,28,.68);backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}
.bizos-flow-overlay.is-open{opacity:1;visibility:visible}
.bizos-flow-dialog{display:flex;flex-direction:column;width:min(760px,100%);max-height:min(92vh,900px);overflow:hidden;border:1px solid var(--bizos-flow-border);border-radius:18px;background:var(--bizos-flow-bg);color:var(--bizos-flow-text);box-shadow:0 28px 80px rgba(0,0,0,.35);transform:translateY(12px) scale(.985);transition:transform .18s ease}
.bizos-flow-overlay.is-open .bizos-flow-dialog{transform:none}
.bizos-flow-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 17px;border-bottom:1px solid var(--bizos-flow-border)}
.bizos-flow-head small{display:block;margin-bottom:5px;color:var(--bizos-flow-accent);font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.bizos-flow-head h2{margin:0;color:var(--bizos-flow-text);font-size:clamp(20px,3vw,26px);line-height:1.2}
.bizos-flow-close{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--bizos-flow-border);border-radius:10px;background:var(--bizos-flow-panel);color:var(--bizos-flow-text);font:700 24px/1 system-ui;cursor:pointer}
.bizos-flow-progress{padding:16px 24px 12px;background:var(--bizos-flow-panel);border-bottom:1px solid var(--bizos-flow-border)}
.bizos-flow-progress-row{display:flex;justify-content:space-between;gap:12px;margin-bottom:9px;color:var(--bizos-flow-muted);font-size:12px;font-weight:750}
.bizos-flow-track{height:7px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--bizos-flow-muted) 18%,transparent)}
.bizos-flow-track span{display:block;width:0;height:100%;border-radius:inherit;background:var(--bizos-flow-accent);transition:width .2s ease}
.bizos-flow-body{padding:22px 24px;overflow:auto;overscroll-behavior:contain}
.bizos-flow-body>form{margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;max-width:none!important;width:100%!important}
.bizos-flow-stage[hidden],.bizos-flow-auto-stage[hidden]{display:none!important}
.bizos-flow-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;border-top:1px solid var(--bizos-flow-border);background:var(--bizos-flow-panel)}
.bizos-flow-actions button{min-height:42px;padding:.65rem 1rem;border-radius:10px;font:inherit;font-weight:750;cursor:pointer}
.bizos-flow-back{border:1px solid var(--bizos-flow-border);background:var(--bizos-flow-bg);color:var(--bizos-flow-text)}
.bizos-flow-next{margin-left:auto;border:1px solid var(--bizos-flow-accent);background:var(--bizos-flow-accent);color:#fff}
.bizos-flow-error{margin:0 0 14px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--bizos-flow-danger) 35%,transparent);border-radius:9px;background:color-mix(in srgb,var(--bizos-flow-danger) 8%,transparent);color:var(--bizos-flow-danger);font-size:13px;font-weight:700}
.bizos-flow-dialog :is(input,select,textarea):invalid.bizos-flow-touched{border-color:var(--bizos-flow-danger)!important;outline-color:var(--bizos-flow-danger)!important}
@media(max-width:640px){.bizos-flow-overlay{align-items:end;padding:0}.bizos-flow-dialog{width:100%;max-height:96vh;border-radius:20px 20px 0 0}.bizos-flow-head,.bizos-flow-body,.bizos-flow-actions{padding-left:18px;padding-right:18px}}
@media(prefers-reduced-motion:reduce){.bizos-flow-overlay,.bizos-flow-dialog,.bizos-flow-track span{transition:none}}
