#conversation-funnel{overflow:visible}
#conversation-funnel>summary{font-size:19px;font-weight:750;list-style-position:inside}
#conversation-funnel .flow-intro{margin:24px 0}
#conversation-funnel .flow-intro h2{font-size:25px;margin-bottom:8px}
#conversation-funnel .flow-intro p{max-width:76ch}
#conversation-funnel .flow-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);gap:32px;align-items:start}
#conversation-funnel .flow-editor{min-width:0}
#conversation-funnel label{margin:0 0 17px;display:block}
#conversation-funnel textarea{min-height:78px;margin-top:7px}
#conversation-funnel input,#conversation-funnel select{margin-top:7px}
#conversation-funnel .flow-brief{border-left:4px solid #218fd2;padding:18px 18px 18px 20px;background:var(--panel2);margin:24px 0}
#conversation-funnel .flow-generate{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:10px}
#conversation-funnel .flow-generate label{flex:0 1 130px;margin:0}
#conversation-funnel .flow-generate button{flex:1 1 190px;min-height:46px}
#conversation-funnel .flow-stage-title,#conversation-funnel .flow-step-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
#conversation-funnel .flow-stage-title{margin:26px 0 15px}
#conversation-funnel .flow-step{border:1px solid var(--line);border-radius:12px;padding:17px;margin-bottom:13px;background:var(--panel)}
#conversation-funnel .flow-step-head{margin-bottom:16px}
#conversation-funnel .flow-step label:last-child{margin-bottom:0}
#conversation-funnel .flow-move{display:flex;gap:5px}
#conversation-funnel .flow-move button{padding:6px 9px}
#conversation-funnel .flow-options{border-top:1px solid var(--line);padding-top:18px}
#conversation-funnel .flow-options>summary{margin-bottom:18px}
#conversation-funnel .flow-save{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:24px}
#conversation-funnel #flow-state{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
#conversation-funnel .flow-preview{position:sticky;top:20px;border:1px solid var(--line);border-radius:16px;background:var(--panel2);padding:22px 15px}
#conversation-funnel .flow-preview>h3{text-align:center;margin-bottom:20px;font-size:18px}
#conversation-funnel .flow-node{margin:0 auto;padding:15px 17px;border:1px solid var(--line);border-left:4px solid #218fd2;border-radius:10px;background:var(--panel);color:var(--text);overflow-wrap:anywhere;text-align:left}
#conversation-funnel .flow-node small{display:block;margin-bottom:7px;font-size:12px}
#conversation-funnel .flow-node div{line-height:1.45;font-size:14px;white-space:pre-wrap}
#conversation-funnel .flow-node-question{border-left-color:#218fd2}
#conversation-funnel .flow-node-explain,#conversation-funnel .flow-node-reply{border-left-color:#d8a12b}
#conversation-funnel .flow-node-offer,#conversation-funnel .flow-node-link{border-left-color:#8867df}
#conversation-funnel .flow-node-goal{border-color:#8867df;border-left-width:4px}
#conversation-funnel .flow-node-close{border-left-color:#a48491}
#conversation-funnel .flow-arrow{color:var(--muted);font-size:22px;text-align:center;line-height:1.6}
#conversation-funnel .flow-outcomes{display:grid;grid-template-columns:1fr;gap:0;margin:24px 0 12px;border-top:1px solid var(--line)}
#conversation-funnel .flow-outcomes>div{padding:12px 5px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:105px 1fr;gap:8px}
#conversation-funnel .flow-outcomes b{font-size:12px}
#conversation-funnel .flow-outcomes span,#conversation-funnel .flow-map-note,#conversation-funnel .flow-context-note{font-size:12px;color:var(--muted);line-height:1.5}
#conversation-funnel .flow-map-note{margin:18px 4px 0}
@media(max-width:1050px){#conversation-funnel .flow-layout{grid-template-columns:1fr;gap:24px}#conversation-funnel .flow-preview{position:static;max-width:600px;width:100%;margin:auto}}
@media(max-width:520px){#conversation-funnel{padding:18px 12px}#conversation-funnel .flow-intro h2{font-size:22px}#conversation-funnel .flow-step{padding:13px}#conversation-funnel .flow-brief{padding:14px 12px}#conversation-funnel .flow-node{width:100%!important}#conversation-funnel .flow-save button{width:100%}#conversation-funnel .flow-preview{padding:18px 10px}}
#conversation-funnel .flow-view-switch{display:none}
@media(max-width:1050px){#conversation-funnel .flow-view-switch{display:flex;gap:8px;margin:0 0 22px}#conversation-funnel .flow-view-switch button{flex:1;min-width:0;font-size:13px;padding:11px 8px}#conversation-funnel .flow-view-switch [aria-pressed=true]{background:var(--soft);border-color:var(--blue);color:var(--blue)}#conversation-funnel [data-view=map] .flow-editor{display:none}#conversation-funnel [data-view=edit] .flow-preview{display:none}}
.mailing-layout,.mailing-main,.mailing-layout>.leads-panel{min-width:0}
#leads-panel #openings-list{display:flex;flex-direction:column;gap:12px}
#leads-panel .opening{width:100%;min-width:0;margin:0;overflow-wrap:anywhere}
@media(min-width:950px){.mailing-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 280px!important;align-items:start;gap:18px}.mailing-layout>.leads-panel{position:sticky;top:18px;max-height:calc(100dvh - 36px);overflow:auto}}
@media(max-width:949px){.mailing-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important}.mailing-layout>.leads-panel{position:static;max-height:none}}

#conversation-funnel .flow-direction{display:flex;gap:4px;padding:5px;background:var(--panel2);border:1px solid var(--line);border-radius:12px;max-width:460px;margin:24px 0 12px}
#conversation-funnel .flow-direction button{flex:1;background:transparent;color:var(--text);border:0;border-radius:8px;min-height:44px}
#conversation-funnel .flow-direction button[aria-pressed="true"]{background:#258dd0;color:white;box-shadow:0 2px 8px #0002}
#conversation-funnel .flow-direction-note{font-size:14px;line-height:1.6;max-width:85ch;color:var(--muted)}

.flow-extra{display:grid;gap:8px;margin:18px 0}.flow-extra small{color:var(--muted);margin-bottom:8px}.flow-offtopic{margin:12px 0}.flow-node-offtopic{border-style:dashed;border-left:4px dashed #d8a12b}.flow-node-after{border-left-color:#2fae6a}
