/* Maestro · reprise du prototype : rail d'outils à gauche, surface de travail à droite.
   Une seule ambiance sombre : quasi-noir chaud, texte blanc cassé, accent terre cuite. */
:root{
  --bg:#1f1e1d; --surface:#262624; --sunk:#30302e; --line:#3e3d3a; --fg:#e8e6dc; --muted:#a3a097;
  --accent:#d97757; --accent-ink:#1f1e1d; --accent-soft:#3b2a23;
  --good:#8fbf8f; --good-soft:#26302a; --warn:#d9ad62; --warn-soft:#3a3223; --crit:#e5806f; --crit-soft:#3d2622;
  --f-display:"Source Serif 4", Georgia, "Times New Roman", serif;
  --f-body:"IBM Plex Sans", "Segoe UI", system-ui, sans-serif;
  --f-mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:14px;line-height:1.5;
  padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));padding-block:16px}
h1,h2,h3{font-family:var(--f-display);font-weight:600;margin:0;text-wrap:balance;letter-spacing:-.01em}
h1{font-size:1.6rem} h2{font-size:1.15rem} h3{font-size:1rem}
a{color:var(--accent)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.muted{color:var(--muted)} .mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.note{font-size:.75rem;color:var(--muted);margin:0}

/* layout */
.app{display:grid;grid-template-columns:252px minmax(0,1fr);gap:24px;max-width:1360px;margin:0 auto;align-items:start}
.rail{position:sticky;top:calc(16px + env(safe-area-inset-top,0px));max-height:calc(100vh - 32px);overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 10px;display:flex;flex-direction:column;gap:2px}
.brand{display:inline-flex;align-items:center;gap:10px;padding:5px 12px 5px 5px;margin:0 0 10px;background:var(--sunk);border-radius:10px;align-self:flex-start;text-decoration:none;color:var(--fg)}
.brand .logo{width:30px;height:30px;border-radius:8px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;flex:none;font-family:var(--f-display);font-weight:600;font-size:1.05rem}
.brand b{font-family:var(--f-display);font-weight:600;font-size:1.05rem;display:block;line-height:1.1}
.brand small{display:block;color:var(--muted);font-size:.72rem}
.nav{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:8px;border:0;background:none;text-align:left;cursor:pointer;width:100%;color:var(--fg);font-weight:600;font-size:.92rem;text-decoration:none}
.nav:hover{background:var(--sunk)}
.nav[aria-current="page"]{background:var(--sunk)}
.nav .ico{flex:none;width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.rail .sep{height:1px;background:var(--line);margin:8px 6px;flex:none}
.rail .who{font-size:.78rem;color:var(--muted);padding:4px 10px}
main{min-width:0;display:flex;flex-direction:column;gap:16px}
.head{display:flex;flex-wrap:wrap;gap:12px;align-items:end;justify-content:space-between}
.head p{margin:4px 0 0;color:var(--muted);max-width:68ch}
.crumb{font-size:.82rem;color:var(--muted);text-decoration:none}
.crumb:hover{color:var(--fg)}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;min-width:0}
.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:12px}
.actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.kpi span{display:block;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}
.kpi b{font-family:var(--f-display);font-size:1.6rem;font-variant-numeric:tabular-nums}
.list-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.list-row:last-child{border-bottom:0}

/* controls */
.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:7px 13px;cursor:pointer;font-weight:500;font-size:.85rem;color:var(--fg);text-decoration:none;white-space:nowrap}
.btn:hover{background:var(--sunk)}
.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.btn.primary:hover{filter:brightness(1.08)}
.btn.ghost{border-color:transparent;background:none;color:var(--muted)}
.btn.ghost:hover{color:var(--fg)}
.btn.danger{border-color:var(--crit);color:var(--crit);background:none}
.btn.small{padding:4px 9px;font-size:.78rem}
.btn[disabled]{opacity:.4;cursor:default}
.field{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--muted)}
.input,.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--bg);color:var(--fg);min-width:0;font-size:.9rem}
.input:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none}
.check{display:inline-flex;gap:8px;align-items:center;font-size:.85rem;color:var(--fg)}
.inline-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.inline-form .input{flex:1 1 200px}
.search{width:min(280px,100%)}
.switch{width:38px;height:22px;border-radius:99px;border:0;background:var(--line);position:relative;cursor:pointer;flex:none;padding:0}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .2s}
.switch[aria-checked="true"]{background:var(--accent)} .switch[aria-checked="true"]::after{left:19px}

/* pills, tags */
.pill{display:inline-block;font-size:.72rem;font-weight:600;border-radius:99px;padding:2px 9px;white-space:nowrap}
.pill.good{background:var(--good-soft);color:var(--good)} .pill.warn{background:var(--warn-soft);color:var(--warn)}
.pill.crit{background:var(--crit-soft);color:var(--crit)} .pill.neutral{background:var(--sunk);color:var(--muted)}
.pill.accent{background:var(--accent-soft);color:var(--accent)}
.tag{font-family:var(--f-mono);font-size:.72rem;background:var(--sunk);border-radius:4px;padding:1px 6px;white-space:nowrap;color:var(--fg);text-decoration:none}
.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.fchip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--accent);background:var(--accent-soft);border-radius:99px;padding:2px 4px 2px 10px;font-size:.8rem;color:var(--fg)}
.fchip.exc{border-color:var(--crit);background:var(--crit-soft)}
.fchip a{color:var(--muted);text-decoration:none;width:20px;height:20px;display:grid;place-items:center;border-radius:50%}
.fchip a:hover{background:var(--sunk);color:var(--fg)}

/* tables */
.tablewrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:.85rem}
th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
tr:last-child td{border-bottom:0}
td a.rowlink{color:var(--fg);text-decoration:none;font-weight:600}
td a.rowlink:hover{color:var(--accent)}

/* flash & toast */
.flash{border-radius:10px;padding:10px 14px;font-size:.88rem;display:flex;flex-direction:column;gap:6px}
.flash.success{background:var(--good-soft);color:var(--fg);border:1px solid var(--good)}
.flash.error{background:var(--crit-soft);color:var(--fg);border:1px solid var(--crit)}
.flash.warn{background:var(--warn-soft);color:var(--fg);border:1px solid var(--warn)}
.flash.link{background:var(--accent-soft);border:1px solid var(--accent)}
.copy{display:flex;gap:6px;flex-wrap:wrap}
.copy input{flex:1 1 320px;font-family:var(--f-mono);font-size:.78rem}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(20px + env(safe-area-inset-bottom,0px));background:var(--fg);color:var(--bg);padding:10px 16px;border-radius:10px;font-weight:500;box-shadow:0 6px 20px rgba(0,0,0,.3);z-index:20;max-width:calc(100% - 32px)}
.toast.error{background:var(--crit);color:#1f1e1d}

/* login */
.login{min-height:calc(100vh - 32px);display:grid;place-items:center}
.login-card{width:min(400px,100%);background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px 24px;display:flex;flex-direction:column;gap:14px}
.login-card .brand{margin:0}
.login-card .btn.primary{justify-content:center;padding:10px;font-size:.92rem}

/* tunnels */
.tlayout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px;align-items:start}
.ftreebox{display:flex;flex-direction:column;gap:1px}
.ftree{display:flex;align-items:center;gap:8px;width:100%;color:var(--fg);text-decoration:none;padding:7px 10px;border-radius:8px;font-size:.86rem}
.ftree .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ftree .ico{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:1.6}
.ftree:hover{background:var(--sunk)} .ftree.on{background:var(--accent-soft);font-weight:600}
.ftree.dragover{outline:2px dashed var(--accent);outline-offset:-2px}
.ttable td{padding:5px 8px}
.cell{border:1px solid transparent;border-radius:6px;background:none;padding:5px 7px;width:100%;min-width:120px;color:var(--fg);font-size:.85rem}
.cell:hover{border-color:var(--line)} .cell:focus{border-color:var(--accent);background:var(--bg);outline:none}
select.cell{background:var(--surface);min-width:110px}
.cell.saved{border-color:var(--good)} .cell.failed{border-color:var(--crit)}
tr[draggable="true"]{cursor:grab}
.bulk{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:var(--accent-soft);border-radius:10px;padding:8px 12px;margin-bottom:10px;font-size:.85rem}
.titlein{font:inherit;border:1px solid transparent;border-radius:8px;background:none;padding:2px 6px;margin-left:-6px;width:min(640px,100%);color:var(--fg)}
.titlein:hover,.titlein:focus{border-color:var(--line);background:var(--surface);outline:none}
.funnel{display:flex;align-items:stretch;overflow-x:auto;padding:4px 2px 10px}
.fstep{flex:0 0 220px;border:1.5px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:6px;background:var(--surface)}
.fstep b{font-size:.92rem}
.fstep .slug{font-family:var(--f-mono);font-size:.7rem;color:var(--muted);overflow-wrap:anywhere}
.fstep .fstats{display:flex;justify-content:space-between;gap:6px;font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums;border-top:1px solid var(--line);padding-top:6px;margin-top:auto}
.farrow{flex:0 0 36px;display:flex;align-items:center}
.farrow i{display:block;width:100%;height:2px;background:var(--line);position:relative}
.farrow i::after{content:"";position:absolute;right:0;top:-4px;border:5px solid transparent;border-left-color:var(--line);border-right:0}
.iconbtn{width:28px;height:28px;border:0;border-radius:6px;background:none;cursor:pointer;color:var(--muted);font-size:.95rem;display:inline-grid;place-items:center}
.iconbtn:hover:not(:disabled){background:var(--sunk);color:var(--fg)} .iconbtn:disabled{opacity:.3;cursor:default}
.btnmap{display:flex;flex-direction:column;gap:6px;font-size:.82rem}
.btnmap div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* step editor */
.editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px;align-items:start}
.code{width:100%;min-height:560px;font-family:var(--f-mono);font-size:.78rem;line-height:1.55;background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:8px;padding:12px;white-space:pre;overflow:auto;tab-size:2;resize:vertical}
.canvas{background:var(--sunk);border-radius:12px;padding:16px;position:sticky;top:16px}
.frame{display:block;width:100%;height:calc(100vh - 140px);min-height:520px;border:0;border-radius:10px;background:#fff;margin:0 auto;transition:width .25s}
.frame.mobile{width:375px;max-width:100%}
details.pop{border:1px solid var(--line);border-radius:10px;background:var(--bg)}
details.pop > summary{cursor:pointer;padding:8px 12px;font-weight:600;font-size:.85rem;list-style:none;display:flex;gap:8px;align-items:center}
details.pop > summary::-webkit-details-marker{display:none}
details.pop > summary::after{content:"▾";color:var(--muted);margin-left:auto}
details.pop[open] > summary::after{content:"▴"}
details.pop > .popbody{padding:0 12px 12px;display:flex;flex-direction:column;gap:10px}

/* contacts */
.filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.8fr);gap:14px}
.taglist{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);border-radius:8px;padding:6px;background:var(--surface)}
.taglist label{display:flex;gap:8px;align-items:center;font-size:.82rem;color:var(--fg);padding:3px 4px;border-radius:4px}
.taglist label:hover{background:var(--sunk)}
.taglist label span.count{margin-left:auto;color:var(--muted);font-family:var(--f-mono);font-size:.72rem}
.colgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:6px}
.pager{display:flex;gap:6px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:10px}

@media (max-width:1100px){.editor{grid-template-columns:minmax(0,1fr)} .canvas{position:static} .filters{grid-template-columns:minmax(0,1fr)}}
@media (max-width:820px){
  .app{grid-template-columns:minmax(0,1fr)}
  .rail{position:static;max-height:none}
  .grid2,.tlayout{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:520px){.grid3{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---- explorateur de tunnels, menus ⋮ ---- */
.ico{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px;flex:none}
details.menu{position:relative;display:inline-block}
details.menu > summary{list-style:none;cursor:pointer}
details.menu > summary::-webkit-details-marker{display:none}
.menubox{position:absolute;top:calc(100% + 6px);left:0;z-index:30;min-width:280px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px;box-shadow:0 10px 30px rgba(0,0,0,.4);display:flex;flex-direction:column;gap:10px}
.head .menubox{left:auto;right:0}
.menubox.right{left:auto;right:0}
.menubox.wide{width:min(720px,80vw)}
.versionframe{width:100%;height:420px;border:0;border-radius:8px;background:#fff}
@media (min-width:900px){.tablewrap.menus-ok{overflow:visible}}
.crumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.9rem}
.crumbs a{color:var(--accent);text-decoration:none;border-radius:6px;padding:2px 4px}
.crumbs a:hover{background:var(--sunk)}
.crumbs > span{color:var(--muted)}
.crumbs .dragover,.folderrow.dragover{outline:2px dashed var(--accent);outline-offset:-2px}
.folderrow td{background:color-mix(in srgb, var(--sunk) 45%, transparent)}
.rowlink .ico{margin-right:4px;color:var(--warn)}

/* ---- page tunnel ---- */
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.tabs a{padding:8px 14px;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;font-weight:500}
.tabs a:hover{color:var(--fg)}
.tabs a[aria-current="page"]{color:var(--fg);border-bottom-color:var(--accent)}
.tabs-later{padding:8px 14px;color:var(--muted);opacity:.6;font-size:.85rem;align-self:center}
.stepslayout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}
.steplist{display:flex;flex-direction:column}
.stepitem{display:flex;gap:10px;align-items:center;padding:10px;border-radius:10px;border:1px solid var(--line);color:var(--fg);text-decoration:none;background:var(--bg)}
.stepitem:hover{border-color:var(--muted)}
.stepitem.on{border-color:var(--accent);background:var(--accent-soft)}
.stepico{width:34px;height:34px;border-radius:8px;background:var(--sunk);display:grid;place-items:center;flex:none}
.stepitem.on .stepico{background:var(--accent);color:var(--accent-ink)}
.stepname{display:flex;flex-direction:column;min-width:0}
.stepname b{font-size:.9rem;overflow-wrap:anywhere}
.stepname small{color:var(--muted);font-size:.75rem}
.stepjoin{text-align:center;color:var(--accent);font-size:.7rem;line-height:1.2;padding:2px 0}
.subtabs{display:flex;gap:2px;background:var(--sunk);border-radius:8px;padding:3px}
.subtabs a{padding:5px 12px;border-radius:6px;color:var(--muted);text-decoration:none;font-size:.85rem}
.subtabs a[aria-current="page"]{background:var(--surface);color:var(--fg)}
.urlbar{display:flex;align-items:center;gap:8px;justify-content:space-between;border:1px solid var(--line);border-radius:8px;padding:6px 6px 6px 12px;background:var(--bg);overflow-wrap:anywhere}
.abgrid{display:flex;gap:16px;flex-wrap:wrap}
.abcol{width:322px;max-width:100%;display:flex;flex-direction:column;gap:8px}
.abempty{border:1.5px dashed var(--line);border-radius:10px;padding:16px;justify-content:center;min-height:200px}
.ablabel{font-size:.78rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.05em}
.thumb{height:240px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;position:relative}
.thumb iframe{width:1280px;height:960px;border:0;transform:scale(.25);transform-origin:0 0;pointer-events:none}
.abbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.pubform{display:flex;flex-direction:column;gap:12px;max-width:640px}
.pathinput{display:flex;align-items:center;gap:0;border:1px solid var(--line);border-radius:8px;background:var(--bg);padding-left:10px;overflow:hidden}
.pathinput input{border:0!important;flex:1;min-width:0;background:none!important}
.retouchbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.inspector{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--accent);border-radius:10px;padding:10px;margin-bottom:10px}
.inspector .input{flex:1 1 220px}
@media (max-width:900px){.stepslayout{grid-template-columns:minmax(0,1fr)}}

/* ---- paramètres ---- */
.providers{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.providercard{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:12px;cursor:pointer;background:var(--bg);font-size:.88rem}
.providercard:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.pfield{border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:10px;margin:0}
.pfield legend{padding:0 6px;font-weight:600}
code.mono{background:var(--sunk);padding:2px 6px;border-radius:4px;font-size:.8rem}

/* ---- emails ---- */
.seqlayout{display:grid;grid-template-columns:300px minmax(0,1fr) minmax(0,.9fr);gap:16px;align-items:start}
.mailedit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:16px;align-items:start}
.when-b{font-size:.72rem;color:var(--accent);min-width:44px;text-align:center;line-height:1.3}
.stepname small + small{margin-top:2px}
.mailpreview{display:flex;flex-direction:column;gap:8px;position:sticky;top:16px}
.mailpreview iframe{width:100%;height:560px;border:0;border-radius:8px;background:#faf7f2}
.mail-h{display:flex;flex-direction:column;gap:2px;font-size:.85rem;border-bottom:1px solid var(--line);padding-bottom:8px}
.mail-h b{font-size:1rem}
fieldset[disabled]{opacity:.7}
@media (max-width:1200px){.seqlayout{grid-template-columns:260px minmax(0,1fr)} .seqlayout .mailpreview{grid-column:1 / -1;position:static}}
@media (max-width:900px){.seqlayout,.mailedit{grid-template-columns:minmax(0,1fr)} .mailpreview{position:static}}

/* ---- commentaires ---- */
.cmt{border-left:4px solid var(--line);display:flex;flex-direction:column;gap:10px}
.cmt[data-s="draft"]{border-left-color:var(--accent)} .cmt[data-s="offbase"]{border-left-color:var(--warn)} .cmt[data-s="answered"]{border-left-color:var(--good)}
.who{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.av{width:34px;height:34px;border-radius:50%;background:var(--sunk);display:grid;place-items:center;font-weight:600;font-size:.78rem;flex:none}
.cmt .q{margin:0;white-space:pre-line;max-width:80ch}
.draft{background:var(--accent-soft);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px}
.draft .lbl{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--accent);font-weight:600;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.draft textarea{width:100%;min-height:110px;border:1px solid var(--line);border-radius:8px;padding:10px;background:var(--surface);color:var(--fg);resize:vertical;font:inherit}
.src{font-size:.78rem;color:var(--muted)} .src b{color:var(--fg);font-weight:500}
.reply{border-top:1px dashed var(--line);padding-top:10px;display:flex;gap:10px}
.reply p{margin:0}
.nav .count{margin-left:auto;font-family:var(--f-mono);font-size:.72rem;background:var(--crit);color:#1f1e1d;border-radius:99px;padding:0 7px;font-weight:600}

/* Automatisations */
.automation-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
@media (max-width:1000px){.automation-layout{grid-template-columns:1fr}}
.flow{display:flex;flex-direction:column;align-items:stretch;gap:0;position:relative}
.flow-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.flow-card.trigger{border-color:var(--accent)}
.flow-card[data-type=condition]{border-left:3px solid var(--warn)}
.flow-card[data-type=wait]{border-left:3px solid var(--muted)}
.flow-card[data-type^=send],.flow-card[data-type=notify_team]{border-left:3px solid var(--accent)}
.flow-head{display:flex;align-items:center;gap:8px}
.flow-head .ico{width:16px;height:16px}
.flow-num{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--bg);font-size:.75rem;color:var(--muted)}
.flow-tools{margin-left:auto;display:flex;gap:2px}
.flow-branches{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.flow-branches .field{flex-direction:row;align-items:center;gap:6px}
.flow-add{align-self:center;position:relative;padding:6px 0}
.flow-add::before{content:'';position:absolute;left:50%;top:0;bottom:0;border-left:2px solid var(--line);z-index:0}
.flow-add summary{list-style:none;position:relative;z-index:1;width:26px;height:26px;border-radius:50%;background:var(--bg);border:1px solid var(--line);display:grid;place-items:center;cursor:pointer;color:var(--muted)}
.flow-add summary::-webkit-details-marker{display:none}
.flow-add summary:hover,.flow-add[open] summary{color:var(--accent);border-color:var(--accent)}
.flow-add-menu{position:absolute;z-index:5;left:50%;transform:translateX(-50%);top:38px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:6px;display:grid;grid-template-columns:1fr 1fr;gap:4px;width:360px;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.flow-add-menu .btn{justify-content:flex-start}
.flow-end{align-self:center;font-size:.8rem;color:var(--muted);padding:4px 12px;border:1px dashed var(--line);border-radius:20px}
.flow-save{position:sticky;bottom:0;padding:12px 0;background:linear-gradient(transparent,var(--bg) 40%);display:flex;justify-content:flex-end}
.trace{margin:0;padding-left:20px;font-size:.84rem;display:flex;flex-direction:column;gap:4px}
