/* Pathways uses the whole window: break out of the app's narrow centre column. */
.main:has(.pw-page){max-width:none;padding:14px 24px 24px}
/* The page fills the window under the top bar; the board takes whatever height is left. */
.pw-page{display:flex;flex-direction:column;height:calc(100vh - 86px - 14px - 12px);min-height:560px}
.pw-page>#pathways-root{flex:1;min-height:0;display:flex;flex-direction:column}
.pw-heading{margin-bottom:6px}
.pw-heading p{font-size:13px}
.pw-heading h1{font-size:26px}
/* Pathways page: a quiet node editor. Uses the app tokens only. */
.pw-unavailable{max-width:560px;margin:40px auto;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:36px 28px}
.pw-unavailable h2{margin-bottom:8px}
.pw-unavailable p{color:var(--muted);margin-bottom:20px}
.pw-muted{color:var(--muted);font-size:12px}
.pw-danger{color:var(--negative)!important}

/* floating pill toolbar */
.pw-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;width:fit-content;max-width:100%;margin:0 auto 10px;padding:6px;
  background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 30px -12px rgba(0,0,0,.45)}
.pw-dot{width:8px;height:8px;border-radius:50%;margin:0 4px 0 8px;background:color-mix(in srgb,var(--positive) 70%,var(--text));box-shadow:0 0 8px color-mix(in srgb,var(--positive) 50%,transparent)}
.pw-bar select,.pw-bar input{background:transparent;color:var(--text);border:1px solid transparent;border-radius:9px;padding:7px 9px;font:inherit;font-size:14px}
.pw-bar select{font-weight:600}
.pw-bar input{width:200px;border-color:var(--border)}
.pw-bar select:hover,.pw-bar input:focus{border-color:var(--border);background:var(--surface2);outline:none}
.pw-net-badge{font-size:11px;line-height:1;padding:5px 8px;border:1px solid var(--border);border-radius:999px;color:var(--muted);white-space:nowrap}
.pw-sep{width:1px;height:22px;background:var(--border);margin:0 4px}
.pw-bar-btn{border:0;background:transparent;color:var(--muted);font:inherit;font-size:14px;padding:8px 12px;border-radius:9px;cursor:pointer}
.pw-bar-btn:hover:not(:disabled){color:var(--text);background:var(--surface2)}
.pw-bar-btn:disabled{opacity:.4;cursor:default}
.pw-bar-btn.pw-go{background:var(--text);color:var(--bg);font-weight:600}
.pw-bar-btn.pw-go:hover:not(:disabled){background:var(--text);color:var(--bg);opacity:.88}
.pw-lock{font-size:12px;color:var(--muted);padding:0 10px 0 4px}

.pw-notes{flex:none;width:100%;display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.pw-msg{margin:0;padding:8px 12px;border-radius:10px;font-size:13px;border:1px solid var(--border);color:var(--muted);text-align:center;
  background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 8px 24px -12px rgba(0,0,0,.5)}
.pw-msg.ok{border-color:color-mix(in srgb,var(--positive) 45%,var(--border));color:color-mix(in srgb,var(--positive) 80%,var(--text))}
.pw-msg.bad{border-color:color-mix(in srgb,var(--negative) 45%,var(--border));color:color-mix(in srgb,var(--negative) 85%,var(--text))}

.pw-layout{flex:1;min-height:0;display:grid;grid-template-columns:250px minmax(0,1fr) 290px;gap:14px;align-items:stretch}

/* wallet list */
.pw-shelf,.pw-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}
.pw-shelf{display:flex;flex-direction:column;min-height:0}
.pw-shelf h2,.pw-card h2{font-size:14px;font-weight:600;margin-bottom:10px}
.pw-shelf input{width:100%;box-sizing:border-box;background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:9px;padding:8px 10px;font:inherit;font-size:13px;margin-bottom:6px}
.pw-shelf ul{list-style:none;margin:0;padding:0;flex:1;min-height:0;overflow:auto}
.pw-wallet{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 6px;border-radius:8px;cursor:grab}
.pw-wallet:hover{background:var(--surface2)}
.pw-wallet.used{opacity:.4;cursor:default}
.pw-wallet>span{min-width:0}
.pw-wallet strong{display:block;font-size:13px;font-weight:500;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pw-wallet small{display:block;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pw-wallet em{font-size:11px;color:var(--muted);font-style:normal;white-space:nowrap}
.pw-plus{flex:none;width:26px;height:26px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:16px;line-height:1;cursor:pointer}
.pw-plus:hover{color:var(--text);border-color:var(--muted)}

/* board */
.pw-stage{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column}
.pw-board-wrap{overflow:auto;flex:1;min-height:0;box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius);
  background-color:color-mix(in srgb,var(--bg) 70%,var(--surface));
  background-image:radial-gradient(color-mix(in srgb,var(--text) 10%,transparent) 1px,transparent 1px);background-size:20px 20px}
.pw-board{position:relative;min-width:100%;min-height:100%}
.pw-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.pw-hints{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);display:flex;gap:8px;align-items:center;white-space:nowrap;margin:0;
  padding:6px 12px;font-size:12px;color:var(--muted);background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--border);border-radius:99px;pointer-events:none}
.pw-hints i{font-style:normal;opacity:.5}
.pw-hints kbd{font:11px ui-monospace,monospace;padding:1px 6px;border:1px solid var(--border);border-radius:5px;background:var(--surface2);color:var(--text)}

/* lines: soft, with a slow flow */
.pw-glow,.pw-main,.pw-flow,.pw-hit{fill:none}
.pw-main{stroke:color-mix(in srgb,var(--text) 38%,transparent);stroke-width:2.25}
.pw-main.bridge{stroke-dasharray:9 7;stroke-width:2.6}.pw-flow.bridge{stroke-dasharray:2 14}
.pw-bridge-route{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:4px;white-space:nowrap;padding:3px 7px;border-radius:10px;background:var(--surface);border:1px dashed color-mix(in srgb,var(--accent) 55%,var(--border));font-size:10px;color:var(--muted);z-index:2;pointer-events:none}.pw-bridge-route img{width:14px;height:14px}.pw-bridge-note{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted);margin:0 0 8px}.pw-node-network{display:flex!important;align-items:center;gap:4px;margin-top:2px}.pw-bridge-fee small{display:block;max-width:180px}
.pw-glow{stroke:color-mix(in srgb,var(--text) 40%,transparent);stroke-width:7;opacity:.14}
.pw-flow{stroke:var(--text);stroke-width:1.4;stroke-dasharray:2 18;opacity:.35;animation:pw-flow 1.8s linear infinite}
.pw-main.ok,.pw-glow.ok{stroke:color-mix(in srgb,var(--positive) 65%,var(--text) 10%)}
.pw-main.bad,.pw-glow.bad{stroke:color-mix(in srgb,var(--negative) 65%,var(--text) 10%)}
.pw-glow.ok,.pw-glow.bad{opacity:.2}
.pw-main.sel{stroke-width:3}
.pw-glow.sel{opacity:.28}
.pw-main.live{stroke:color-mix(in srgb,var(--text) 55%,transparent);stroke-dasharray:5 5}
.pw-hits{pointer-events:stroke}
.pw-hit{stroke:transparent;stroke-width:16;cursor:pointer;pointer-events:stroke}
@keyframes pw-flow{to{stroke-dashoffset:-20}}
@media (prefers-reduced-motion:reduce){.pw-flow{animation:none}}

/* wallet cards */
.pw-node{position:absolute;box-sizing:border-box;background:color-mix(in srgb,var(--surface2) 85%,var(--surface));border:1px solid var(--border);border-radius:14px;
  box-shadow:0 10px 30px -14px rgba(0,0,0,.55);user-select:none;touch-action:none;cursor:grab}
.pw-node:active{cursor:grabbing}
.pw-node.from{border-color:color-mix(in srgb,var(--text) 45%,var(--border))}
.pw-node.target{cursor:pointer;border-style:dashed;border-color:color-mix(in srgb,var(--text) 40%,var(--border))}
.pw-node.target:hover,.pw-node.target:focus{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--text) 30%,transparent)}
.pw-node-head{display:flex;align-items:center;gap:8px;padding:10px 10px 6px 12px}
.pw-ico{color:var(--muted);font-size:13px}
.pw-node-head strong{flex:1;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pw-grip{color:var(--muted);opacity:.5;font-size:12px;letter-spacing:-2px}
.pw-x{border:0;background:none;color:var(--muted);font-size:16px;line-height:1;width:20px;height:20px;cursor:pointer;opacity:.45;padding:0}
.pw-x:hover,.pw-x:focus{opacity:1;color:var(--text)}
.pw-node-body{padding:0 14px 10px}
.pw-node-body small{font-size:11px;color:var(--muted)}
.pw-bal{display:flex;gap:12px;margin-top:6px;font-size:12px;color:var(--text)}
.pw-bal b{font-weight:500;color:var(--muted);font-size:11px}
.pw-holder{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:6px;padding:2px 6px;color:var(--muted);font-size:10px;white-space:nowrap}
.pw-holder.local{display:none}
.pw-wallet-access,.pw-cant-send{display:block;color:var(--muted);font-size:10px;line-height:1.35;margin-top:4px}
.pw-cant-send{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ports */
.pw-port{position:absolute;top:58px;width:12px;height:12px;border-radius:50%;padding:0;cursor:crosshair;
  background:color-mix(in srgb,var(--text) 55%,var(--surface));border:0;box-shadow:0 0 0 3px var(--bg)}
.pw-port.in{left:-6px;cursor:grab}
.pw-port.out{right:-6px}
.pw-port.on{background:var(--text);box-shadow:0 0 0 3px var(--bg),0 0 10px color-mix(in srgb,var(--text) 35%,transparent)}
.pw-port:hover,.pw-port:focus{outline:none;transform:scale(1.3)}

/* amount tag on a line */
.pw-tag{position:absolute;transform:translate(-50%,-50%);padding:3px 9px;border-radius:99px;border:1px solid var(--border);
  background:color-mix(in srgb,var(--surface) 94%,transparent);color:var(--text);font-size:11px;font-weight:500;white-space:nowrap;cursor:pointer}
.pw-tag:hover,.pw-tag.sel{border-color:color-mix(in srgb,var(--text) 40%,var(--border))}
.pw-tag.ok{color:color-mix(in srgb,var(--positive) 80%,var(--text))}
.pw-tag.bad{color:color-mix(in srgb,var(--negative) 85%,var(--text))}

/* line editor popover */
.pw-pop{position:absolute;z-index:3;width:270px;box-sizing:border-box;transform:translateX(-50%);display:flex;flex-direction:column;gap:10px;padding:12px;
  background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 40px -12px rgba(0,0,0,.6);font-size:13px}
.pw-pop-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.pw-pop-head strong{font-size:13px;font-weight:600}
.pw-pop-foot{display:flex;justify-content:space-between;align-items:center}
.pw-lab{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:12px}
.pw-lab input{background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:7px 9px;font:inherit;font-size:13px;min-width:0}
.pw-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pw-check{display:flex;align-items:center;gap:7px;color:var(--text)}
.pw-segs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:9px;overflow:hidden}
.pw-seg{border:0;background:transparent;color:var(--muted);padding:7px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.pw-seg.on{background:var(--surface2);color:var(--text)}

.pw-empty-board{position:absolute;left:0;top:0;width:100%;max-width:820px;height:560px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--muted);pointer-events:none;font-size:13px}
.pw-empty-board strong{color:var(--text);font-size:15px;font-weight:500}

/* right side: results and balances */
.pw-side{display:flex;flex-direction:column;gap:14px;min-height:0;overflow:auto}
.pw-bals,.pw-res{list-style:none;margin:0;padding:0}
.pw-bals li{padding:8px 0;border-bottom:1px solid var(--border)}
.pw-bals li:last-child{border-bottom:0}
.pw-bals strong{display:block;font-size:13px;font-weight:500;margin-bottom:4px}
.pw-bline{display:flex;align-items:baseline;gap:6px;font-size:12px}
.pw-bline span{width:38px;color:var(--muted);font-size:11px}
.pw-bline b{font-weight:500}
.pw-bline i{font-style:normal;color:var(--muted)}
.pw-bline.short b:last-child{color:color-mix(in srgb,var(--negative) 85%,var(--text))}
.pw-network-logo{display:inline-flex;align-items:center;margin-right:-2px}.pw-picker-menu small,.pw-group-head button,.pw-bal span{display:flex;align-items:center;gap:6px}.pw-bline .logo-text{width:58px}.pw-bal .logo{vertical-align:middle}
.pw-warn{display:block;font-size:11px;color:color-mix(in srgb,var(--negative) 80%,var(--text));margin:2px 0 0 44px}
.pw-res li{display:flex;gap:8px;padding:7px 0;border-bottom:1px solid var(--border)}
.pw-res li:last-child{border-bottom:0}
.pw-res li>span{font-weight:700;font-size:13px}
.pw-res li.ok>span{color:color-mix(in srgb,var(--positive) 80%,var(--text))}
.pw-res li.bad>span{color:color-mix(in srgb,var(--negative) 85%,var(--text))}
.pw-res strong{display:block;font-size:12px;font-weight:500}
.pw-res small{color:var(--muted);font-size:11px}
.pw-note{font-size:12px;color:var(--muted);border-top:1px solid var(--border);padding-top:8px;margin:8px 0 0}

@media (max-width:1180px){.pw-page{height:auto}.pw-layout{grid-template-columns:220px minmax(0,1fr)}.pw-stage{height:calc(100vh - 290px);min-height:480px}.pw-shelf{max-height:calc(100vh - 290px)}.pw-side{grid-column:1/-1;overflow:visible;display:grid;grid-template-columns:1fr 1fr}}
@media (max-width:760px){.pw-layout{grid-template-columns:minmax(0,1fr)}.pw-shelf{max-height:260px}.pw-side{grid-template-columns:1fr}.pw-stage{height:460px}.pw-hints{display:none}.pw-bar input{width:140px}}

/* budget */
.pw-budget-in{display:flex;align-items:center;gap:6px;background:var(--surface2);border:1px solid var(--border);border-radius:9px;padding:0 10px;margin-bottom:10px}
.pw-budget-in span{color:var(--muted)}
.pw-budget-in input{flex:1;min-width:0;border:0;background:transparent;color:var(--text);font:inherit;font-size:18px;font-weight:600;padding:8px 0;outline:none}
.pw-budget dl{margin:0 0 10px}
.pw-budget dl div{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:4px 0;font-size:13px}
.pw-budget dt{color:var(--muted)}
.pw-budget dt small{display:block;font-size:11px;opacity:.8}
.pw-budget dd{margin:0;font-variant-numeric:tabular-nums}
.pw-budget .pw-total{border-top:1px solid var(--border);margin-top:4px;padding-top:7px;font-weight:600}
.pw-budget .pw-total dt{color:var(--text)}
.pw-budget .left dd{color:color-mix(in srgb,var(--positive) 80%,var(--text))}
.pw-budget .over dd,.pw-budget .over dt{color:color-mix(in srgb,var(--negative) 85%,var(--text))}
.pw-fill{display:flex;gap:6px;margin-bottom:6px}
.pw-fill .btn{flex:1}
.pw-lim{border-top:1px solid var(--border);padding-top:8px;margin-top:8px}
.pw-main.warn,.pw-glow.warn{stroke:color-mix(in srgb,#d9a441 60%,var(--text) 15%)}
.pw-glow.warn{opacity:.2}
.pw-tag.warn{color:color-mix(in srgb,#d9a441 80%,var(--text))}
.pw-res li.warn>span{color:color-mix(in srgb,#d9a441 85%,var(--text))}

/* step-by-step run */
.pw-bar-btn.pw-run{color:var(--text);border:1px solid var(--border)}
.pw-bar-btn.pw-batch-entry{background:color-mix(in srgb,var(--positive) 80%,var(--text));color:var(--bg);font-weight:650}
.pw-bar-btn.pw-batch-entry:hover:not(:disabled){background:color-mix(in srgb,var(--positive) 70%,var(--text));color:var(--bg)}
.pw-runcard h2{margin-bottom:4px}
.pw-runcard .pw-muted{margin:0 0 8px}
.pw-res li.now{background:color-mix(in srgb,var(--surface2) 70%,transparent);border-radius:8px;padding-left:6px;padding-right:6px}
.pw-res li.pw-run-done>span{color:color-mix(in srgb,var(--positive) 80%,var(--text))}
.pw-res li.pw-run-skipped{opacity:.55}
.pw-run-acts{display:flex;gap:8px;align-items:center;margin-top:6px}

/* one-review approve-all flow */
.pw-batch-overlay{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:76px 24px 24px;background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(8px)}
.pw-batch-shell{width:min(720px,100%);max-height:100%;overflow:auto;background:var(--surface);border:1px solid color-mix(in srgb,var(--positive) 28%,var(--border));border-radius:18px;box-shadow:0 28px 80px -24px rgba(0,0,0,.72)}
.pw-batch-card{padding:22px}
.pw-batch-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}
.pw-batch-head h2{font-size:20px;margin:2px 0 0}
.pw-batch-kicker{display:block;color:var(--muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.pw-batch-close{flex:none;border:0;background:transparent;color:var(--muted);font:24px/1 inherit;width:34px;height:34px;border-radius:9px;cursor:pointer}
.pw-batch-close:hover:not(:disabled){background:var(--surface2);color:var(--text)}
.pw-batch-close:disabled{opacity:.35;cursor:default}
.pw-batch-card>p{margin:0 0 8px}
.pw-live-limits{padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface2);color:var(--text);font-size:13px;line-height:1.45}
.pw-batch-halt{padding:10px 12px;border:1px solid color-mix(in srgb,var(--negative) 45%,var(--border));border-radius:10px;color:color-mix(in srgb,var(--negative) 85%,var(--text));font-size:13px}
.pw-batch-lines{margin-bottom:10px}
.pw-batch-lines small{display:block;line-height:1.45}
.pw-batch-lines a{color:var(--text)}
.pw-batch-sending>span{color:color-mix(in srgb,#d9a441 85%,var(--text))}
.pw-batch-refused>span{color:color-mix(in srgb,var(--negative) 85%,var(--text))}
.pw-batch-not-sent{opacity:.58}
.pw-batch-summary{border-top:1px solid var(--border);padding-top:9px;font-size:13px;color:var(--text)}
.pw-batch-actions{margin-top:14px}
.pw-batch-actions .text-btn{display:block;margin:10px auto 0}
.pw-batch-checking{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);padding:8px 0}
.pw-batch-checking .spinner{width:18px;height:18px}
.pw-batch-stop{font-size:16px;padding:12px}
@media (max-width:760px){.pw-batch-overlay{padding:68px 10px 10px;align-items:end}.pw-batch-shell{border-radius:16px}.pw-batch-card{padding:16px}}

.pw-why{text-align:center;margin:-4px auto 10px;font-size:13px;color:var(--muted)}

/* Infinite canvas layout. Everything after the site navigation belongs to this viewport. */
body.pathways-mode{overflow:hidden}
.pathways-mode .main{max-width:none;height:calc(100vh - 86px);padding:0;margin:0;overflow:hidden}
.pathways-mode .page-content,.pathways-mode .pw-page,.pathways-mode #pathways-root{width:100%;height:100%;min-height:0}
.pathways-mode .footer-note{display:none}
.pathways-mode .app-shell:before{display:none}
.pw-page{height:100%;min-height:0}
.pw-stage{position:relative;width:100%;height:100%;min-height:0;display:block;overflow:hidden}
.pw-board-wrap{position:absolute;inset:0;overflow:hidden;border:0;border-radius:0;touch-action:none;cursor:grab;
  background-color:color-mix(in srgb,var(--bg) 82%,var(--surface));
  background-image:radial-gradient(color-mix(in srgb,var(--text) 13%,transparent) 1px,transparent 1px);
  background-size:var(--pw-grid-size,20px) var(--pw-grid-size,20px);
  background-position:var(--pw-grid-x,0) var(--pw-grid-y,0)}
.pw-board-wrap:active{cursor:grabbing}
.pw-board{position:absolute;left:0;top:0;width:0;height:0;min-width:0;min-height:0;transform-origin:0 0;will-change:transform}
.pw-view-animate .pw-board{transition:transform .16s ease}
.pw-svg{width:1px;height:1px;overflow:visible}
.pw-toolbar-stack{position:absolute;z-index:20;top:12px;left:50%;width:min(1040px,calc(100% - 180px));transform:translateX(-50%);pointer-events:none}
.pw-toolbar-stack>*{pointer-events:auto}
.pw-bar{justify-content:center;margin:0 auto;padding:7px 8px;background:color-mix(in srgb,var(--surface) 91%,transparent);backdrop-filter:blur(16px);border-radius:15px;box-shadow:0 12px 40px -16px rgba(0,0,0,.72)}
.pw-bar select,.pw-bar input,.pw-bar-btn{font-size:12px;padding:6px 8px}
.pw-bar input{width:150px}
.pw-bar-btn.pw-run{padding-left:9px;padding-right:9px}
.pw-notes{width:min(720px,100%);margin:6px auto 0;gap:4px;align-items:center}
.pw-msg,.pw-why{width:fit-content;max-width:100%;margin:0;padding:6px 11px;background:color-mix(in srgb,var(--surface) 91%,transparent);backdrop-filter:blur(14px)}
.pw-why{border:1px solid var(--border);border-radius:10px}

.pw-float-panel{position:absolute;z-index:15;top:128px;bottom:58px;width:264px;padding:12px;background:color-mix(in srgb,var(--surface) 90%,transparent);border:1px solid var(--border);border-radius:16px;box-shadow:0 18px 46px -22px rgba(0,0,0,.75);backdrop-filter:blur(16px)}
.pw-left-panel{left:14px}.pw-right-panel{right:14px;width:304px}
.pw-float-panel.collapsed{top:142px;bottom:auto;width:auto;padding:0;border-radius:10px;overflow:hidden}
.pw-left-panel.collapsed{left:0;border-left:0;border-radius:0 10px 10px 0}
.pw-right-panel.collapsed{right:0;border-right:0;border-radius:10px 0 0 10px}
.pw-panel-tab{padding:9px 11px;color:var(--muted);font-size:12px;background:transparent}
.pw-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.pw-panel-head h2{margin:0;font-size:13px}
.pw-panel-head>button{width:28px;height:28px;border-radius:8px;color:var(--muted);font-size:18px}
.pw-panel-head>button:hover{background:var(--surface2);color:var(--text)}
.pw-shelf{display:flex;min-height:0}.pw-shelf ul{overflow:auto}
.pw-side{display:flex;overflow:auto;gap:10px}
.pw-side>.pw-panel-head{flex:none}
.pw-side .pw-card{padding:12px;background:color-mix(in srgb,var(--surface2) 58%,transparent);border-radius:12px}

.pw-zoom{position:absolute;z-index:18;right:16px;bottom:14px;display:flex;align-items:center;padding:4px;background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--border);border-radius:11px;box-shadow:0 10px 28px -16px #000;backdrop-filter:blur(14px)}
.pw-zoom button{min-width:31px;height:29px;padding:0 8px;border-radius:7px;color:var(--muted);font-size:13px}
.pw-zoom button:hover{background:var(--surface2);color:var(--text)}
#pw-zoom-percent{min-width:56px;color:var(--text);font-variant-numeric:tabular-nums}
.pw-hints{z-index:14;bottom:14px;padding:5px 10px;font-size:11px;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(12px)}
.pw-empty-board{z-index:2;left:50%;top:52%;width:auto;height:auto;transform:translate(-50%,-50%);white-space:nowrap}

@media(max-width:1180px){
  .pw-page{height:100%}.pw-stage{height:100%;min-height:0}.pw-side{display:flex;grid-template-columns:none;grid-column:auto;overflow:auto}
  .pw-toolbar-stack{width:calc(100% - 120px)}
}
@media(max-width:899px){
  .pw-float-panel:not(.collapsed){top:136px;bottom:70px;width:min(300px,calc(100% - 28px))}
  .pw-toolbar-stack{top:8px;width:calc(100% - 20px)}
  .pw-bar{max-height:118px;overflow:auto}
}
@media(max-width:760px){
  .pathways-mode .main{height:calc(100vh - 67px);padding:0}.pathways-mode .mobile-nav{display:none}
  .pw-bar input{width:112px}.pw-hints{display:none}.pw-zoom{bottom:12px}.pw-float-panel.collapsed{top:132px}
}

/* Design-tool controls and transient editor chrome. */
.pw-float-panel,.pw-bar,.pw-zoom,.pw-minimap{border-radius:12px;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(14px);box-shadow:0 14px 38px -20px rgba(0,0,0,.7);transition:width .15s ease,transform .15s ease,opacity .15s ease}
.pw-toolbar-stack{width:calc(100% - 64px);max-width:1500px}
.pw-bar{width:auto;max-width:100%;flex-wrap:nowrap;white-space:nowrap}
.pw-node{transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}
.pw-node.selected{outline:2px solid color-mix(in srgb,var(--positive) 72%,var(--text));outline-offset:2px;cursor:move;box-shadow:0 0 0 5px color-mix(in srgb,var(--positive) 13%,transparent),0 14px 34px -16px rgba(0,0,0,.68)}
.pw-node-head{padding-left:9px}.pw-node-head .pw-holder{max-width:72px;overflow:hidden;text-overflow:ellipsis}
.pw-holder{display:inline-flex;width:max-content;padding:2px 6px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:9px;line-height:1.2;white-space:nowrap}
.pw-tooltip{position:absolute;z-index:40;left:8px;top:calc(100% + 9px);display:flex;flex-direction:column;gap:3px;max-width:320px;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface);box-shadow:0 10px 30px -12px color-mix(in srgb,var(--text) 45%,transparent);color:var(--muted);font-size:10px;opacity:0;visibility:hidden;transform:translateY(-3px);transition:opacity .14s ease .4s,transform .14s ease .4s,visibility 0s linear .54s;pointer-events:none}
.pw-tooltip b{color:var(--text);font:10px ui-monospace,monospace}.pw-node:hover .pw-tooltip{opacity:1;visibility:visible;transform:none;transition-delay:.4s}

.pw-groups{display:block!important;overflow:auto}.pw-groups>li{list-style:none}.pw-wallet-group>ul{display:block;overflow:visible;min-height:auto}.pw-group-head{display:flex;align-items:center;justify-content:space-between;gap:4px;position:sticky;top:0;z-index:2;padding:6px 2px;background:color-mix(in srgb,var(--surface) 94%,transparent)}
.pw-group-head button{border:0;background:transparent;color:var(--muted);font:600 11px/1.2 inherit;text-align:left;cursor:pointer}.pw-group-head button:first-child{flex:1}.pw-group-head button span{font-weight:400}.pw-switch-net{max-width:116px;color:var(--text)!important;font-size:9px!important;text-align:right!important}.pw-switch-net:disabled{opacity:.42;cursor:not-allowed}
.pw-wallet{align-items:flex-start}.pw-wallet.unavailable{opacity:.5;cursor:not-allowed}.pw-wallet.unavailable:hover{background:transparent}.pw-wallet>span{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.pw-wallet .pw-holder{margin-top:2px}

.pw-marquee{position:absolute;z-index:30;border:1px solid color-mix(in srgb,var(--positive) 80%,var(--text));background:color-mix(in srgb,var(--positive) 12%,transparent);pointer-events:none}
.pw-guide{position:absolute;z-index:29;display:block;background:color-mix(in srgb,var(--positive) 82%,var(--text));pointer-events:none}.pw-guide.x{top:-10000px;width:1px;height:20000px}.pw-guide.y{left:-10000px;width:20000px;height:1px}
.pw-align{position:absolute;z-index:38;display:flex;transform:translateX(-50%);padding:3px;border:1px solid var(--border);border-radius:9px;background:var(--surface);box-shadow:0 10px 30px -15px color-mix(in srgb,var(--text) 45%,transparent)}.pw-align button{width:27px;height:25px;border:0;border-radius:6px;background:transparent;color:var(--muted);font:11px inherit;cursor:pointer}.pw-align button:hover{background:var(--surface2);color:var(--text)}

.pw-zoom{gap:2px}.pw-zoom>i{width:1px;height:20px;margin:0 2px;background:var(--border)}.pw-tools{display:flex}.pw-tools button{display:flex;align-items:center;gap:4px}.pw-tools button.on{background:var(--surface2);color:var(--text)}.pw-zoom-menu-wrap{position:relative}.pw-zoom-menu{position:absolute;right:0;bottom:38px;width:154px;padding:5px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 14px 35px -14px color-mix(in srgb,var(--text) 45%,transparent)}.pw-zoom-menu button{display:block;width:100%;text-align:left}.pw-zoom-menu button:hover{background:var(--surface2)}
.pw-minimap{position:absolute;z-index:17;right:16px;bottom:62px;width:180px;height:110px;overflow:hidden;border:1px solid var(--border);cursor:crosshair}.pw-minimap svg{display:block;width:100%;height:100%;background:color-mix(in srgb,var(--bg) 75%,var(--surface))}.pw-minimap line{stroke:color-mix(in srgb,var(--text) 35%,transparent);stroke-width:1}.pw-mini-box{fill:color-mix(in srgb,var(--text) 45%,var(--surface));stroke:var(--border);stroke-width:.7}.pw-mini-view{fill:color-mix(in srgb,var(--positive) 8%,transparent);stroke:color-mix(in srgb,var(--positive) 75%,var(--text));stroke-width:1.5}

.pw-context{position:absolute;z-index:70;width:180px;padding:5px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 16px 42px -14px color-mix(in srgb,var(--text) 45%,transparent)}.pw-context button{display:block;width:100%;padding:8px 9px;border:0;border-radius:7px;background:transparent;color:var(--text);font:12px inherit;text-align:left;cursor:pointer}.pw-context button:hover,.pw-context button:focus{background:var(--surface2);outline:none}
.pw-help-backdrop{position:absolute;z-index:75;inset:0;display:grid;place-items:center;background:color-mix(in srgb,var(--bg) 52%,transparent);backdrop-filter:blur(5px)}.pw-help{position:relative;width:min(420px,calc(100% - 32px));padding:20px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 22px 70px -24px color-mix(in srgb,var(--text) 45%,transparent)}.pw-help h2{margin:0 0 14px;font-size:18px}.pw-help>.pw-x{position:absolute;right:14px;top:14px}.pw-help dl{margin:0}.pw-help dl div{display:flex;justify-content:space-between;gap:18px;padding:7px 0;border-bottom:1px solid var(--border);font-size:12px}.pw-help dl div:last-child{border:0}.pw-help dt{font:600 11px ui-monospace,monospace}.pw-help dd{margin:0;color:var(--muted);text-align:right}
.pw-empty-board{padding:18px 22px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface) 82%,transparent);box-shadow:0 12px 30px -20px color-mix(in srgb,var(--text) 35%,transparent)}.pw-empty-board strong{font-size:13px}

@media(min-width:1280px){.pw-bar{flex-wrap:nowrap;overflow:visible}.pw-bar>*{flex:none}.pw-bar input{width:150px}}
@media(max-width:1279px){.pw-toolbar-stack{width:calc(100% - 28px)}.pw-bar{overflow-x:auto;justify-content:flex-start}.pw-bar::-webkit-scrollbar{display:none}}
@media(max-width:899px){.pw-minimap{display:none}.pw-tools span{display:none}}
@media(prefers-reduced-motion:reduce){.pw-float-panel,.pw-bar,.pw-zoom,.pw-minimap,.pw-node,.pw-tooltip,.pw-board{transition:none!important}}

/* Many lines: tags shrink to the stage number; the amount shows on hover, when selected, or when Check flags it. */
.pw-tag.quiet{padding:2px 7px;min-width:22px;text-align:center;opacity:.85}.pw-tag.quiet .pw-tag-amount{display:none}
.pw-tag.quiet:hover,.pw-tag.quiet.sel,.pw-tag.quiet.bad,.pw-tag.quiet.warn{opacity:1;z-index:3}.pw-tag.quiet:hover .pw-tag-amount,.pw-tag.quiet.sel .pw-tag-amount,.pw-tag.quiet.bad .pw-tag-amount,.pw-tag.quiet.warn .pw-tag-amount{display:inline;margin-left:4px}/* Keep the minimap clear of the open details panel. */
body:has(.pw-right-panel:not(.collapsed)) .pw-minimap{right:334px}
/* Dragging on the canvas must never select page text. */
#pw-board-wrap,.pw-node,.pw-tag,.pw-minimap,.pw-zoom{-webkit-user-select:none;user-select:none}
body.pw-dragging{-webkit-user-select:none;user-select:none}

/* Round-three polish: dense design-tool chrome, predictable focus, and no redundant controls. */
.pw-toolbar-stack{top:12px;width:calc(100% - 160px);max-width:1560px}
.pw-bar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;width:100%;height:46px;padding:6px 8px;gap:8px;overflow:visible}
.pw-bar-group{display:flex;align-items:center;gap:4px;min-width:0;height:32px}
.pw-bar-left{justify-self:start}.pw-bar-centre{justify-self:center;padding:0 8px;border-left:1px solid var(--border);border-right:1px solid var(--border)}.pw-bar-right{justify-self:end}
.pw-bar select,.pw-bar input,.pw-bar-btn,.pw-name-button{height:32px;border-radius:8px;font-size:12px}
.pw-bar-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 9px;color:var(--muted);transition:color .12s ease,background .12s ease,border-color .12s ease,opacity .12s ease}
.pw-bar-btn>i{width:12px;font-style:normal;text-align:center;color:inherit}
.pw-bar-btn.pw-secondary{border:1px solid var(--border);color:var(--text);background:color-mix(in srgb,var(--surface2) 45%,transparent)}
.pw-bar-btn.pw-secondary:hover:not(:disabled){border-color:color-mix(in srgb,var(--text) 25%,var(--border))}
.pw-bar-btn:disabled,.pw-bar-btn.pw-batch-entry:disabled{opacity:1;color:color-mix(in srgb,var(--muted) 42%,transparent);background:color-mix(in srgb,var(--surface2) 35%,transparent);border-color:var(--border);box-shadow:none}
.pw-bar-btn.pw-batch-entry{height:32px;border-radius:8px;padding:0 12px;background:var(--accent);color:var(--accent-ink);font-weight:650}
.pw-file{position:relative;min-width:0}.pw-name-button{display:flex;align-items:center;gap:6px;max-width:36ch;padding:0 7px;color:var(--text);text-align:left}.pw-name-button:hover{background:var(--surface2)}
.pw-name-button>span{display:block;width:32ch;max-width:30vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.pw-name-button>i{font-style:normal;color:var(--muted)}
.pw-file #pw-name{width:min(34ch,30vw);padding:0 8px;border-color:var(--accent);background:var(--surface2)}
.pw-picker-menu{position:absolute;z-index:60;left:0;top:38px;width:min(340px,calc(100vw - 48px));max-height:320px;overflow:auto;padding:5px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 18px 44px -18px rgba(0,0,0,.72)}
.pw-picker-menu button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:36px;padding:6px 8px;border-radius:7px;text-align:left}.pw-picker-menu button:hover,.pw-picker-menu button[aria-current=true]{background:var(--surface2)}.pw-picker-menu button>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pw-picker-menu small{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--muted)}.pw-picker-menu small i{width:5px;height:5px;border-radius:50%;background:var(--muted)}
.pw-dry{position:relative;display:flex;align-items:center;width:16px;height:32px;flex:none}.pw-dry .pw-dot{display:block;margin:0;width:7px;height:7px}.pw-dry>span{position:absolute;left:18px;top:5px;z-index:65;width:max-content;padding:3px 7px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--muted);font-size:10px;opacity:0;visibility:hidden;transition:opacity .12s}.pw-dry:hover>span{opacity:1;visibility:visible}
.pw-notes{position:static;width:min(720px,100%);margin:6px auto 0}.pw-notes .pw-msg:not(.bad):not(.pw-connect-status){position:fixed;z-index:80;left:50%;bottom:26px;transform:translateX(-50%);animation:pw-toast-in .16s ease-out;box-shadow:0 12px 36px -14px rgba(0,0,0,.7)}
@keyframes pw-toast-in{from{opacity:0;transform:translate(-50%,6px)}}

.pw-node:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));box-shadow:0 14px 34px -16px rgba(0,0,0,.7)}
.pw-node-head{padding:10px 12px 5px;gap:7px}.pw-node-body{padding:0 12px 10px}.pw-node-body .mono{font-size:11px;font-variant-numeric:tabular-nums}.pw-node .pw-x{opacity:0;visibility:hidden;transition:opacity .12s}.pw-node:hover .pw-x,.pw-node.selected .pw-x,.pw-node:focus-within .pw-x{opacity:.8;visibility:visible}.pw-node .pw-holder{font-size:10px;font-weight:500;background:transparent;border-color:color-mix(in srgb,var(--muted) 22%,transparent)}
.pw-main,.pw-glow,.pw-flow,.pw-tag{transition:opacity .12s ease,stroke .12s ease,border-color .12s ease,color .12s ease}.pw-main{stroke:color-mix(in srgb,var(--text) 42%,transparent)}.pw-flow{stroke:color-mix(in srgb,var(--text) 55%,transparent)}
.pw-main.dim,.pw-glow.dim,.pw-flow.dim,.pw-tag.dim{opacity:.35}.pw-main.focus:not(.ok):not(.warn):not(.bad),.pw-glow.focus:not(.ok):not(.warn):not(.bad),.pw-flow.focus:not(.ok):not(.warn):not(.bad){stroke:var(--accent)}.pw-tag.focus:not(.ok):not(.warn):not(.bad){color:var(--accent);border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}
.pw-main.ok,.pw-glow.ok{stroke:color-mix(in srgb,var(--positive) 65%,var(--text) 10%)}.pw-main.warn,.pw-glow.warn{stroke:color-mix(in srgb,#d9a441 60%,var(--text) 15%)}.pw-main.bad,.pw-glow.bad{stroke:color-mix(in srgb,var(--negative) 65%,var(--text) 10%)}

.pw-wallet{position:relative;align-items:center;min-height:44px;padding:6px 5px}.pw-wallet:hover{background:color-mix(in srgb,var(--surface2) 72%,transparent)}.pw-wallet>span{gap:1px}.pw-wallet .pw-holder{margin:2px 0 0;font-size:9px}.pw-onboard{width:22px;height:22px;display:grid;place-items:center;flex:none;color:var(--muted);font-size:11px}.pw-plus{display:grid;place-items:center;width:24px;height:24px;margin:auto 0;line-height:1}.pw-group-head{top:0;min-height:30px}.pw-wallet-group+ .pw-wallet-group .pw-group-head{border-top:1px solid var(--border)}

.pw-float-panel{top:66px;bottom:58px}.pw-float-panel.collapsed,.pw-float-panel.collapsed.pw-left-panel,.pw-float-panel.collapsed.pw-right-panel{top:12px}.pw-panel-tab{height:32px;padding:0 11px}.pw-side{position:absolute;gap:16px;padding-bottom:24px;scrollbar-color:color-mix(in srgb,var(--muted) 28%,transparent) transparent}.pw-side>.pw-card{flex:none}.pw-side .pw-card h2{margin:0 0 10px;font-family:inherit;font-size:12px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.pw-blocker{padding:0 3px;color:var(--muted);font-size:11px;line-height:1.45}.pw-check-summary{margin:0 0 8px;font-size:12px}.pw-check-card{min-height:76px}.pw-side-fade{position:sticky;z-index:4;left:0;right:0;bottom:-24px;display:block;height:28px;margin-top:-28px;background:linear-gradient(transparent,color-mix(in srgb,var(--surface) 94%,transparent));pointer-events:none}
.pw-panel-tab:hover{background:var(--surface2);color:var(--text)}
.pw-budget-in input::placeholder{color:var(--muted);font-size:12px;font-weight:400;opacity:.72}.pw-limits .pw-muted{line-height:1.55}.pw-bals li{display:grid;grid-template-columns:minmax(74px,1fr) 1.7fr;gap:4px 8px;padding:7px 0}.pw-bals strong{grid-row:1/span 2;margin:0;align-self:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pw-bline{display:grid;grid-template-columns:31px minmax(0,1fr) 10px minmax(0,1fr);gap:3px}.pw-bline span{width:auto}.pw-warn{grid-column:2;margin:1px 0 0}.pw-res li{min-height:44px}

.pw-minimap{right:16px;bottom:61px;width:160px;height:100px}.pw-mini-view{fill:color-mix(in srgb,var(--accent) 10%,transparent);stroke:color-mix(in srgb,var(--accent) 72%,var(--text));stroke-width:1.25}
body:has(.pw-right-panel:not(.collapsed)) .pw-minimap,body:has(.pw-right-panel:not(.collapsed)) .pw-zoom{right:334px}
.pw-tools button,.pw-fit-btn{width:31px;padding:0!important}.pw-tools button{justify-content:center}.pw-zoom button:focus-visible,.pw-node button:focus-visible,.pw-wallet button:focus-visible,.pw-bar button:focus-visible,.pw-bar select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

@media(max-width:1500px){.pw-toolbar-stack{width:calc(100% - 140px)}.pw-bar-btn{padding:0 7px}.pw-bar-centre{padding:0 5px}.pw-bar{gap:5px}}
@media(max-width:1279px){.pw-bar{display:flex;height:46px;overflow-x:auto}.pw-bar-left,.pw-bar-centre,.pw-bar-right{flex:none}.pw-name-button>span{width:20ch}.pw-toolbar-stack{width:calc(100% - 16px)}}
@media(max-width:899px){.pw-float-panel:not(.collapsed){top:58px}.pw-bar-centre .pw-bar-btn>i{display:none}}

/* Round-four polish: neutral canvas focus and a strict 12px editor rhythm. */
.pw-name-button{width:max-content;min-width:160px;max-width:320px}
.pw-name-button>span{width:auto;min-width:0;max-width:292px;flex:0 1 auto}
.pw-name-button>i{flex:none;margin-left:0}
.pw-bar-btn.pw-secondary{background:transparent;border:1px solid var(--border);color:var(--text)}
.pw-bar-btn:disabled,.pw-bar-btn.pw-batch-entry:disabled{opacity:.5;background:transparent;border:1px solid var(--border);color:var(--text)}
.pw-bar-btn.pw-batch-entry:not(:disabled){background:var(--accent);border:1px solid var(--accent);color:#fff}

.pw-notes{position:absolute;z-index:19;top:70px;left:50%;width:min(720px,calc(100% - 24px));margin:0;transform:translateX(-50%);pointer-events:none}
.pw-notes>*{pointer-events:auto}
.pw-notes .pw-msg:not(.bad):not(.pw-connect-status){position:fixed;z-index:80;left:50%;bottom:64px;transform:translateX(-50%);margin:0;animation:pw-toast-in .16s ease-out;box-shadow:0 12px 36px -14px rgba(0,0,0,.7)}

.pw-main.focus:not(.ok):not(.warn):not(.bad){stroke:var(--text);stroke-width:2.75;opacity:1}
.pw-glow.focus:not(.ok):not(.warn):not(.bad),.pw-flow.focus:not(.ok):not(.warn):not(.bad){stroke:var(--text);opacity:1}
.pw-tag.focus:not(.ok):not(.warn):not(.bad){color:var(--text);border-color:color-mix(in srgb,var(--text) 55%,var(--border));opacity:1}
.pw-minimap{border-color:color-mix(in srgb,var(--text) 35%,transparent)}
.pw-minimap svg{background:var(--surface)}
.pw-mini-view{fill:transparent;stroke:color-mix(in srgb,var(--text) 35%,transparent);stroke-width:1.25}

.pw-tooltip{top:auto;bottom:calc(100% + 6px);background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--border);box-shadow:0 14px 38px -20px rgba(0,0,0,.7);font-size:10px;line-height:1.35}
.pw-tooltip b{overflow-wrap:anywhere}

.pw-group-head{min-height:27px;height:27px;padding:3px 2px;overflow:hidden}
.pw-group-head button:first-child{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:5px;width:100%;min-width:0;height:21px;padding:0;white-space:nowrap}
.pw-group-head button i{font-style:normal;font-weight:400}
.pw-group-head button strong{min-width:0;overflow:hidden;text-overflow:ellipsis;font:600 11px/1.2 inherit}
.pw-group-head button span{color:var(--muted);font-weight:400}
.pw-switch-row{padding:2px 5px 4px;list-style:none}
.pw-switch-net{max-width:100%;padding:2px 0!important;color:var(--muted)!important;font-size:10px!important;line-height:1.3!important;text-align:left!important}
.pw-wallet-access{color:var(--muted);font-size:10px!important;line-height:1.25}

.pw-bals{display:block}
.pw-bals .pw-bline{display:grid;grid-template-columns:minmax(66px,1fr) 34px minmax(48px,auto) 10px minmax(48px,auto);align-items:baseline;gap:4px;padding:5px 0;border-bottom:1px solid var(--border);font-size:11px}
.pw-bals .pw-bline>strong{grid-row:auto;align-self:baseline;min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500}
.pw-bals .pw-bline>span{width:auto;color:var(--muted);font-size:10px}
.pw-bals .pw-bline>b{text-align:right;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}
.pw-bals .pw-bline>i{text-align:center;color:var(--muted);font-style:normal}
.pw-bals .pw-bline.short>b:last-of-type{color:color-mix(in srgb,var(--negative) 85%,var(--text))}
.pw-bals .pw-warn{grid-column:2/-1;margin:1px 0 0;font-size:10px}

.pw-float-panel{top:70px;bottom:12px}
.pw-left-panel{left:12px}.pw-right-panel{right:12px}
.pw-float-panel.collapsed,.pw-float-panel.collapsed.pw-left-panel,.pw-float-panel.collapsed.pw-right-panel{top:70px}
.pw-zoom{right:12px;bottom:12px}
.pw-minimap{right:12px;bottom:63px}
body:has(.pw-right-panel:not(.collapsed)) .pw-minimap,body:has(.pw-right-panel:not(.collapsed)) .pw-zoom{right:328px}

@media(max-width:899px){.pw-float-panel:not(.collapsed),.pw-float-panel.collapsed{top:70px}}
/* The toast is position:fixed. Any transformed or will-change ancestor would pin it to that box
   instead of the viewport (it landed on the toolbar), so the notes strip centres without a
   transform and the page wrapper drops will-change while Pathways is open. */
.pw-notes{left:12px;right:12px;width:auto;transform:none;display:flex;flex-direction:column;align-items:center}
.page-content:has(#pathways-root){will-change:auto;transform:none}

/* Disabled toolbar buttons stay clearly legible in both themes. */
.pw-bar .pw-bar-btn:disabled,.pw-bar .pw-bar-btn.pw-batch-entry:disabled{opacity:.6}

/* Round-five finishing touches. */
.pw-toolbar-stack{max-width:1180px}
.pw-main.dim,.pw-glow.dim,.pw-flow.dim,.pw-tag.dim{opacity:.25}
.pw-group-head button strong{font-size:12px;font-weight:600;color:var(--muted);text-transform:none}
.pw-group-head button span{min-width:2ch;text-align:right;font-variant-numeric:tabular-nums}
.pw-minimap{padding:6px}
.pw-tooltip{gap:2px;max-width:260px;padding:5px 8px}
.pw-tooltip b{display:block;overflow:hidden;overflow-wrap:normal;white-space:nowrap;text-overflow:ellipsis;font:11px/1.2 ui-monospace,SFMono-Regular,monospace;font-variant-numeric:tabular-nums}
body[data-theme=secondary]:not([data-style=b]) .pw-main.focus:not(.ok):not(.warn):not(.bad),
:root[data-theme=light] .pw-main.focus:not(.ok):not(.warn):not(.bad){stroke:color-mix(in srgb,var(--text) 85%,transparent);stroke-width:2.25}
body[data-theme=secondary]:not([data-style=b]) .pw-glow.focus:not(.ok):not(.warn):not(.bad),
:root[data-theme=light] .pw-glow.focus:not(.ok):not(.warn):not(.bad){opacity:0}
body[data-theme=secondary]:not([data-style=b]) .pw-flow.focus:not(.ok):not(.warn):not(.bad),
:root[data-theme=light] .pw-flow.focus:not(.ok):not(.warn):not(.bad){stroke:color-mix(in srgb,var(--text) 85%,transparent)}
body[data-theme=secondary]:not([data-style=b]) .pw-tag-stage,
:root[data-theme=light] .pw-tag-stage{color:color-mix(in srgb,var(--text) 80%,transparent)}

/* Round-six batch review and running progress. */
.pw-batch-overlay{padding:10vh 24px;align-items:center}
.pw-batch-shell{width:min(640px,100%);max-height:80vh;overflow:hidden;border-color:var(--border);border-radius:16px}
.pw-batch-card{display:flex;flex-direction:column;max-height:80vh;padding:22px;overflow:hidden}
.pw-batch-head{flex:none;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.pw-batch-head h2{margin-top:3px}
.pw-batch-meta{margin:4px 0 0;color:var(--muted);font-size:12px}
.pw-live-limits{flex:none;margin-bottom:12px!important;background:color-mix(in srgb,var(--surface2) 65%,transparent)}
.pw-batch-lines{flex:0 1 auto;min-height:0;margin:0;overflow:visible;scrollbar-color:color-mix(in srgb,var(--muted) 35%,transparent) transparent}
.pw-batch-lines.scrollable{overflow-y:auto;padding-right:8px}
.pw-batch-lines li:not(.pw-batch-stage){display:grid;grid-template-columns:24px 20px minmax(0,1fr);align-items:start;gap:8px;padding:8px 4px}
.pw-batch-lines .pw-line-number{color:var(--muted)!important;font-size:11px;font-weight:500;text-align:right;font-variant-numeric:tabular-nums}
.pw-line-status{font-size:13px;font-weight:700;line-height:1.35;text-align:center}
.pw-line-status.allowed{color:color-mix(in srgb,var(--positive) 82%,var(--text))}
.pw-line-status.warning{color:color-mix(in srgb,#d9a441 82%,var(--text))}
.pw-line-status.refused{color:color-mix(in srgb,var(--negative) 85%,var(--text))}
.pw-line-status.pending{padding:0;border-radius:0;background:transparent;color:var(--muted);letter-spacing:0}
.pw-line-spinner{width:14px;height:14px;margin:2px 0 0 3px;border-width:2px}
.pw-batch-stage{position:sticky;top:0;z-index:1;min-height:0!important;padding:9px 4px 5px!important;background:var(--surface);color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}
.pw-batch-progress{flex:none;margin:0 0 10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface2) 55%,transparent)}
.pw-batch-progress>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:11px}
.pw-batch-progress span{color:var(--muted);text-align:right}
.pw-progress-track{height:5px;overflow:hidden;border-radius:99px;background:var(--surface2)}
.pw-progress-track i{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .18s ease}
.pw-batch-summary{flex:none}
.pw-batch-footer{flex:none;padding-top:12px;border-top:1px solid var(--border)}
.pw-batch-actions{margin:0}
.pw-batch-links{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:9px}
.pw-batch-links .text-btn,.pw-runs-link{display:inline-flex;margin:0;font-size:12px}
.pw-batch-stop{height:32px!important;padding:0 12px!important;border-color:var(--negative)!important;background:transparent!important;color:var(--negative)!important;font-size:13px}
@media(max-width:760px){.pw-batch-overlay{padding:68px 10px 10px;align-items:end}.pw-batch-shell,.pw-batch-card{max-height:80vh}.pw-batch-card{padding:16px}.pw-batch-progress>div:first-child{align-items:flex-start;flex-direction:column;gap:3px}.pw-batch-progress span{text-align:left}}
.pw-notes .pw-msg:not(.bad):not(.pw-connect-status){bottom:26px;padding:7px 11px;background:color-mix(in srgb,var(--surface) 96%,transparent);color:var(--muted);font-size:12px}
@media(max-width:760px){.pw-notes .pw-msg:not(.bad):not(.pw-connect-status){bottom:82px}}
