/* Flow indicator layer: legend, pane separators, crosshair, dialogs, toast. */
.fi-host{position:absolute;inset:0;pointer-events:none;z-index:25;font:11px/1.25 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.fi-crosshair{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:21}
.fi-legend{position:absolute;left:var(--fi-inset,8px);display:flex;flex-direction:column;gap:1px;max-width:calc(100% - 90px)}
.fi-main{top:6px;overflow:hidden}
.fi-more{all:unset;pointer-events:auto;cursor:pointer;width:max-content;padding:1px 6px;border-radius:4px;color:#94a3b8;font-size:11px;background:rgba(15,23,42,.7)}
.fi-more:hover{color:#f8fafc;background:#1e293b}
.fi-row{pointer-events:auto;display:flex;align-items:center;gap:6px;min-height:19px;padding:0 4px;border-radius:4px;color:#cbd5e1;white-space:nowrap;width:max-content;max-width:100%;overflow:hidden}
.fi-row:hover{background:rgba(15,23,42,.88);box-shadow:0 0 0 1px rgba(148,163,184,.18)}
.fi-row.fi-off .fi-title{color:#64748b;text-decoration:line-through}
.fi-title{all:unset;cursor:pointer;color:#e2e8f0;font-weight:600;overflow:hidden;text-overflow:ellipsis}
.fi-title:hover{color:#fff}
.fi-val{font-variant-numeric:tabular-nums;font-weight:600}
.fi-actions{display:flex;gap:1px;opacity:0;transition:opacity .12s}
.fi-row:hover .fi-actions,.fi-row:focus-within .fi-actions{opacity:1}
.fi-actions button{all:unset;cursor:pointer;width:18px;height:18px;display:grid;place-items:center;border-radius:4px;color:#94a3b8;font-size:11px}
.fi-actions button:hover{background:#1e293b;color:#f8fafc}
.fi-sep{position:absolute;left:0;right:70px;height:7px;cursor:row-resize;pointer-events:auto;z-index:26}
.fi-sep:hover,.fi-sep:active{background:linear-gradient(transparent 2px,rgba(41,98,255,.65) 2px,rgba(41,98,255,.65) 4px,transparent 4px)}
@media (hover:none){.fi-actions{opacity:1}.fi-actions button{width:26px;height:26px}.fi-sep{height:14px}}

#flowIndicatorsButton{display:inline-flex;align-items:center;gap:5px;font-weight:700}
#flowIndicatorsButton .fi-fx{font-style:italic;font-family:Georgia,serif;font-size:13px}

#fiDialogRoot .fi-backdrop{position:fixed;inset:0;z-index:2000000;background:rgba(2,6,15,.55);display:grid;place-items:center;padding:16px}
.fi-dialog{width:min(560px,100%);max-height:min(640px,calc(100vh - 32px));display:flex;flex-direction:column;background:#0b1220;border:1px solid #1e293b;border-radius:10px;box-shadow:0 24px 70px rgba(0,0,0,.6);color:#dbe4ee;font:13px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;overflow:hidden}
.fi-dialog header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px}
.fi-dialog header b{font-size:16px}
.fi-x{all:unset;cursor:pointer;width:28px;height:28px;display:grid;place-items:center;border-radius:6px;color:#94a3b8}
.fi-x:hover{background:#1e293b;color:#fff}
.fi-search{padding:0 16px 10px;border-bottom:1px solid #1e293b}
.fi-search input{width:100%;box-sizing:border-box;padding:9px 11px;border-radius:7px;border:1px solid #2a3b50;background:#050b14;color:#f1f5f9;font-size:14px;outline:none}
.fi-search input:focus{border-color:#2962ff}
.fi-picker-body{overflow:auto;padding:6px 8px 10px}
.fi-picker-body h4{margin:10px 8px 4px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#64748b}
.fi-def{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:10px;width:100%;padding:7px 8px;border-radius:7px}
.fi-def:hover,.fi-def:focus-visible{background:#132036}
.fi-def b{min-width:44px;padding:3px 0;text-align:center;border-radius:5px;background:#16233a;color:#93c5fd;font-size:11px}
.fi-def span{display:flex;flex-direction:column;flex:1;min-width:0}
.fi-def em{font-style:normal;color:#f1f5f9}
.fi-def small{color:#7d8ba0;font-size:11px}
.fi-count{font-style:normal;font-size:10px;color:#22c55e;white-space:nowrap}
.fi-plus{font-style:normal;width:22px;height:22px;display:grid;place-items:center;border-radius:5px;color:#94a3b8;background:#111c2e}
.fi-def:hover .fi-plus{background:#2962ff;color:#fff}
.fi-def.fi-flash{background:rgba(34,197,94,.18)}
.fi-onchart{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px}
.fi-onchart:hover{background:#111c2e}
.fi-onchart i{width:10px;height:10px;border-radius:3px}
.fi-onchart span{flex:1}
.fi-onchart button{all:unset;cursor:pointer;width:24px;height:24px;display:grid;place-items:center;border-radius:5px;color:#94a3b8}
.fi-onchart button:hover{background:#1e293b;color:#fff}
.fi-empty{padding:24px;text-align:center;color:#7d8ba0}
.fi-dialog footer{display:flex;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid #1e293b;color:#64748b;font-size:11px}
.fi-dialog footer span{flex:1}
.fi-settings{width:min(420px,100%)}
.fi-settings nav{display:flex;gap:16px;padding:0 16px;border-bottom:1px solid #1e293b}
.fi-settings nav button{all:unset;cursor:pointer;padding:8px 0;color:#94a3b8;border-bottom:2px solid transparent}
.fi-settings nav button.active{color:#f8fafc;border-color:#2962ff}
.fi-settings-body{padding:12px 16px;overflow:auto;display:flex;flex-direction:column;gap:10px}
.fi-field{display:grid;grid-template-columns:1fr 150px;align-items:center;gap:10px}
.fi-field input,.fi-field select,.fi-style-row select,.fi-style-row input[type=number]{box-sizing:border-box;width:100%;padding:6px 8px;border-radius:6px;border:1px solid #2a3b50;background:#050b14;color:#f1f5f9;font-size:13px}
.fi-check{display:flex;align-items:center;gap:8px;cursor:pointer}
.fi-field.fi-check{grid-template-columns:auto 1fr}
.fi-style-row{display:grid;grid-template-columns:1fr 38px 84px;align-items:center;gap:8px}
.fi-style-row input[type=color]{width:38px;height:28px;padding:0;border:1px solid #2a3b50;border-radius:6px;background:#050b14;cursor:pointer}
.fi-muted{color:#64748b;font-size:11px}
.fi-ghost,.fi-primary{all:unset;cursor:pointer;padding:7px 14px;border-radius:6px;font-size:13px}
.fi-ghost{color:#cbd5e1;border:1px solid #2a3b50}
.fi-ghost:hover{background:#132036}
.fi-primary{background:#2962ff;color:#fff;font-weight:600}
.fi-primary:hover{background:#1e53e5}

#fiToast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:2000001;display:flex;align-items:center;gap:14px;padding:10px 14px;border-radius:8px;background:#111c2e;border:1px solid #2a3b50;color:#e2e8f0;font:13px -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;box-shadow:0 12px 34px rgba(0,0,0,.5);transition:all .18s}
#fiToast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
#fiToast button{all:unset;cursor:pointer;color:#60a5fa;font-weight:700}
@media (max-width:600px){.fi-field{grid-template-columns:1fr 120px}.fi-dialog{max-height:calc(100vh - 20px)}}

.fi-star{font-style:normal;width:22px;height:22px;display:grid;place-items:center;border-radius:5px;color:#475569;font-size:14px}
.fi-star:hover{color:#facc15;background:#111c2e}
.fi-star.on{color:#facc15}
