:root{--bg:#F4F6F9;--panel:#fff;--ink:#1B2433;--muted:#5E6B80;--line:#DDE2EA;--blue:#2851D8;--green:#1E8E5A;--amber:#B87503;--red:#C0392B;color-scheme:light}
@media(prefers-color-scheme:dark){:root{--bg:#10151F;--panel:#182030;--ink:#E7ECF4;--muted:#93A0B5;--line:#2A3548;--blue:#7C9BFF;--green:#4FCB92;--amber:#F0B44A;--red:#FF8B7E;color-scheme:dark}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 "IBM Plex Sans",system-ui,sans-serif}
header{display:flex;align-items:baseline;gap:16px;padding:20px 32px;border-bottom:1px solid var(--line);background:var(--panel)}
h1{margin:0;font-size:22px;font-weight:600}.demo{margin:0;color:var(--muted);font-size:13px}
main{padding:24px 32px;max-width:1100px;margin:auto}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px}.kpi b{display:block;font-size:30px;font-weight:600}.kpi span{color:var(--muted)}
.list{display:grid;gap:16px}.flow{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:20px}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.top h2{margin:0;font-size:18px}
.badge{font-size:13px;font-weight:600;padding:2px 10px;border-radius:99px;border:1px solid currentColor}
.running{color:var(--green)}.paused{color:var(--amber)}.failed{color:var(--red)}
.steps{display:flex;gap:6px;margin:16px 0;flex-wrap:wrap}.s{flex:1;min-width:120px;padding:8px 10px;border-radius:6px;background:var(--bg);border:1px solid var(--line);font-size:13px;color:var(--muted)}
.s.done{color:var(--ink)}.s.now{border-color:var(--blue);color:var(--blue);font-weight:600}.s.err{border-color:var(--red);color:var(--red);font-weight:600}
.meta{display:flex;gap:20px;color:var(--muted);font-size:13px;flex-wrap:wrap}
button{font:inherit;font-weight:600;padding:8px 16px;border-radius:6px;border:1px solid var(--blue);background:var(--blue);color:#fff;cursor:pointer}
@media(prefers-color-scheme:dark){button{color:#10151F}}button.alt{background:none;color:var(--blue)}
button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
details{margin-top:12px;color:var(--muted);font-size:13px}details p{margin:2px 0}
@media(max-width:600px){main,header{padding-left:16px;padding-right:16px}}
header nav{display:flex;gap:4px;margin-left:24px}header nav a{padding:6px 12px;border-radius:6px;color:var(--muted);text-decoration:none}
header nav a[aria-current]{background:var(--bg);color:var(--ink);font-weight:600}header .demo{margin-left:auto}
.pt{font-size:20px;margin:0 0 16px}h3{font-size:16px;margin:24px 0 12px}
.tw{overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:8px}table{border-collapse:collapse;width:100%}
th,td{text-align:left;padding:10px 16px;border-bottom:1px solid var(--line);font-size:14px}th{color:var(--muted);font-weight:600}td.error{color:var(--red)}
.opt{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px 20px}
.opt p{margin:0;color:var(--muted);font-size:14px}.opt b{display:block;color:var(--ink);font-size:15px}.opt input{width:22px;height:22px}
@media(max-width:700px){header{flex-wrap:wrap}header nav{margin-left:0;order:3;width:100%}}
.demo-bar{background:var(--blue);color:#fff;padding:10px 32px;font-size:14px}@media(prefers-color-scheme:dark){.demo-bar{color:#10151F}}@media(max-width:600px){.demo-bar{padding:10px 16px}}
h1{display:flex;align-items:center;gap:10px}
