/* Scoped automation workspace. Host owns panel chrome and resizing. */
.ba-library,.ba-workspace,.ba-inspector { box-sizing:border-box; min-width:0; color:var(--text,#F7F7F2); font:400 12px/1.5 "DM Sans",sans-serif; }
.ba-library *,.ba-workspace *,.ba-inspector * { box-sizing:border-box; }
.ba-library :where(h3,p),.ba-workspace :where(h3,p),.ba-inspector :where(h3,p) { margin:0; }
.ba-library :where(button,input,textarea),.ba-workspace :where(button,input,textarea),.ba-inspector :where(button,input,textarea) { font-family:inherit; }
.ba-library :focus-visible,.ba-workspace :focus-visible,.ba-inspector :focus-visible { outline:2px solid var(--blue,#5986D2); outline-offset:3px; }
.ba-library { padding:20px 12px 14px; display:flex; flex-direction:column; gap:7px; height:100%; min-height:440px; }
.ba-library-intro { padding:0 3px 18px; }
.ba-overline { color:var(--muted,#BBC9D5); text-transform:uppercase; letter-spacing:.11em; font-size:9px; font-weight:650; line-height:1.4; }
.ba-library-intro h3 { font-size:18px; font-weight:650; letter-spacing:-.035em; line-height:1.18; margin:9px 0; max-width:12ch; }
.ba-library-intro p { font-size:10px; color:var(--muted,#BBC9D5); line-height:1.6; }
.ba-flow-button { position:relative; width:100%; min-height:48px; padding:11px 10px 11px 13px; border:1px solid var(--edge,#485D70); background:var(--canvas,#0C1520); color:var(--text,#F7F7F2); border-radius:5px; font-size:11px; line-height:1.4; text-align:left; cursor:pointer; }
.ba-flow-button:hover { background:var(--raised,#203244); }
.ba-flow-button[aria-pressed="true"] { border-color:var(--blue,#5986D2); background:var(--selected,color-mix(in srgb,var(--blue,#5986D2) 15%,var(--canvas,#0C1520))); }
.ba-flow-button[aria-pressed="true"]::before { content:""; position:absolute; left:-1px; top:10px; bottom:10px; width:2px; background:var(--blue,#5986D2); }
.ba-library-note { margin-top:24px; padding:14px 3px 20px; border-top:1px solid var(--edge,#485D70); }
.ba-note-symbol { color:var(--blue,#5986D2); font-size:25px; display:block; margin-bottom:6px; }
.ba-library-note strong { font-size:11px; line-height:1.5; display:block; margin-bottom:6px; }
.ba-library-note p { font-size:10px; line-height:1.6; color:var(--muted,#BBC9D5); }
.ba-local-label { display:flex; align-items:center; gap:6px; margin-top:auto; color:var(--muted,#BBC9D5); font-size:9px; padding:12px 3px 0; }
.ba-local-label::before { content:""; width:4px; height:4px; border-radius:50%; background:var(--blue,#5986D2); }
.ba-workspace { display:flex; flex:1; flex-direction:column; min-height:0; height:100%; background:var(--canvas,#0C1520); overflow:hidden; }
.ba-toolbar { display:flex; flex-shrink:0; justify-content:space-between; align-items:center; gap:15px; padding:22px 24px 19px; border-bottom:1px solid var(--edge,#485D70); background:var(--canvas,#0C1520); }
.ba-flow-heading h3 { font-size:25px; font-weight:650; letter-spacing:-.04em; line-height:1.1; margin:7px 0; }
.ba-flow-heading p { color:var(--muted,#BBC9D5); font-size:11px; line-height:1.5; }
.ba-toolbar-actions { display:flex; gap:7px; align-items:center; flex-shrink:0; }
.ba-button { display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--edge,#485D70); border-radius:5px; min-height:34px; padding:7px 11px; background:var(--panel,#142230); color:var(--text,#F7F7F2); font-size:11px; line-height:1.4; font-weight:550; cursor:pointer; text-align:center; }
.ba-button:hover { background:var(--raised,#203244); border-color:var(--muted,#BBC9D5); }
.ba-button:disabled { opacity:.45; cursor:default; }
.ba-button--primary { background:var(--blue,#5986D2); border-color:var(--blue,#5986D2); color:var(--canvas,#0C1520); }
.ba-button--primary:hover { background:color-mix(in srgb,var(--blue,#5986D2) 85%,var(--text,#F7F7F2)); border-color:transparent; }
.ba-canvas-scroll { flex:1; min-height:200px; overflow:auto; position:relative; background-image:radial-gradient(circle,var(--edge,#485D70) .65px,transparent .8px); background-size:20px 20px; background-position:15px 15px; scrollbar-width:thin; scrollbar-color:var(--edge,#485D70) var(--canvas,#0C1520); }
.ba-canvas-size { position:relative; min-height:0; overflow:hidden; }
.ba-canvas { position:relative; }
.ba-canvas-caption { position:absolute; left:24px; top:6px; color:var(--muted,#BBC9D5); font-size:9px; letter-spacing:.03em; padding:2px 0; background:var(--canvas,#0C1520); }
.ba-connectors { position:absolute; top:0; left:0; overflow:visible; pointer-events:none; }
.ba-connectors path { fill:none; stroke:var(--blue,#5986D2); stroke-width:1.4; opacity:.72; }
.ba-connectors text { fill:var(--muted,#BBC9D5); font-size:8px; paint-order:stroke; stroke:var(--canvas,#0C1520); stroke-width:4px; stroke-linejoin:round; }
.ba-node { position:absolute; width:176px; min-height:112px; padding:0; border:1px solid var(--edge,#485D70); background:var(--panel,#142230); color:var(--text,#F7F7F2); border-radius:7px; box-shadow:0 6px 18px #0002; cursor:pointer; text-align:left; }
.ba-port { position:absolute; width:6px; height:6px; border:1px solid var(--blue,#5986D2); border-radius:50%; background:var(--canvas,#0C1520); pointer-events:none; }
.ba-port--left { left:-4px; top:52px; }
.ba-port--right { right:-4px; top:52px; }
.ba-port--top { left:85px; top:-4px; }
.ba-port--bottom { left:85px; bottom:-4px; }
.ba-node:hover { border-color:var(--muted,#BBC9D5); background:var(--raised,#203244); }
.ba-node[aria-pressed="true"] { border-color:var(--blue,#5986D2); background:var(--raised,#203244); box-shadow:0 8px 26px #0003,inset 0 2px var(--blue,#5986D2); }
.ba-node-top { display:flex; gap:6px; align-items:center; height:30px; padding:0 10px; border-bottom:1px solid var(--edge,#485D70); color:var(--muted,#BBC9D5); font-size:8px; font-weight:500; }
.ba-node-top small { font-size:8px; margin-left:auto; opacity:.75; }
.ba-node-symbol { display:inline-grid; place-items:center; width:17px; height:17px; border-radius:4px; font-size:14px; line-height:1; background:#254B8E; color:#F7F7F2; }
.ba-node--condition .ba-node-symbol { background:#603A8C; }
.ba-node--review .ba-node-symbol { background:#D98B28; color:#0C1520; }
.ba-node > strong { display:block; font-size:13px; line-height:1.35; font-weight:600; letter-spacing:-.01em; margin:12px 12px 5px; overflow-wrap:anywhere; }
.ba-node-detail { display:block; color:var(--muted,#BBC9D5); font-size:9px; line-height:1.4; margin:0 12px 13px; }
.ba-canvas-footer { display:flex; flex-shrink:0; align-items:center; justify-content:space-between; gap:12px; padding:10px 15px; border-top:1px solid var(--edge,#485D70); background:var(--panel,#142230); }
.ba-draft-state { font-size:9px; line-height:1.5; color:var(--muted,#BBC9D5); }
.ba-zoom-tools { display:flex; align-items:center; flex-shrink:0; gap:3px; padding:2px; border:1px solid var(--edge,#485D70); border-radius:5px; background:var(--canvas,#0C1520); }
.ba-zoom-tools .ba-button { border:0; min-height:26px; padding:4px 7px; background:none; border-radius:3px; font-size:10px; }
.ba-zoom-tools .ba-button:hover { background:var(--raised,#203244); }
.ba-zoom-tools output { width:38px; text-align:center; font-size:10px; color:var(--muted,#BBC9D5); }
.ba-inspector { display:flex; flex-direction:column; gap:17px; padding:22px 16px 18px; }
.ba-inspector-title h3 { font-size:22px; line-height:1.15; font-weight:650; letter-spacing:-.035em; margin:9px 0 3px; max-width:15ch; }
.ba-field-group { display:flex; flex-direction:column; gap:7px; }
.ba-field-group label { font-size:10px; font-weight:600; }
.ba-field { width:100%; min-width:0; border:1px solid var(--edge,#485D70); border-radius:5px; background:var(--canvas,#0C1520); color:var(--text,#F7F7F2); padding:10px; font-size:12px; line-height:1.5; min-height:39px; }
textarea.ba-field { resize:vertical; min-height:145px; }
.ba-field:hover { border-color:var(--muted,#BBC9D5); }
.ba-help { font-size:10px; color:var(--muted,#BBC9D5); line-height:1.65; }
.ba-error { color:#FFB5AE; font-size:11px; line-height:1.5; }
[data-theme="light"] .ba-error { color:#922633; }
.ba-field[aria-invalid="true"] { border-color:#FFB5AE; }
[data-theme="light"] .ba-field[aria-invalid="true"] { border-color:#922633; }
.ba-error:empty { display:none; }
.ba-save { min-height:39px; width:100%; }
.ba-review-note { margin-top:8px; border-top:1px solid var(--edge,#485D70); padding-top:16px; }
.ba-review-note strong { display:block; font-size:11px; margin-bottom:7px; }
.ba-review-note p { color:var(--muted,#BBC9D5); font-size:10px; line-height:1.65; }
@media(max-width:900px) { .ba-toolbar { flex-wrap:wrap; padding:18px; }.ba-toolbar-actions{width:100%;justify-content:flex-end}.ba-canvas-footer{flex-wrap:wrap}.ba-zoom-tools{margin-left:auto}.ba-flow-heading h3{font-size:24px} }
@media(prefers-reduced-motion:reduce) { .ba-library *,.ba-workspace *,.ba-inspector * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@media(forced-colors:active) { .ba-node,.ba-flow-button,.ba-field,.ba-button { border-color:ButtonText; }.ba-node[aria-pressed="true"],.ba-flow-button[aria-pressed="true"]{outline:1px solid Highlight;outline-offset:-1px}.ba-connectors path { stroke:CanvasText; } }
