:root{--bg:#212121;--panel:#171717;--surface:#2f2f2f;--surface2:#3a3a3a;--modal:#202020;--text:#ececec;--muted:#aaa;--border:rgba(255,255,255,.09);--blue:#a8c7fa;--green:#8fd694;--red:#ff8a80;--yellow:#ffd180;--radius:10px}*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}body{overflow:hidden}button,input,select,textarea{font:inherit}.hidden{display:none!important}.app-shell{height:100vh;display:flex;flex-direction:column}.top-header{height:58px;min-height:58px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px}.brand,.top-actions,.row,.button-row,.heading-actions,.tabs,.action-summary,.call-status-row,.toolbar,.param-row,.map-row{display:flex;align-items:center}.brand{gap:12px}.brand-mark{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1px solid var(--border);font-size:17px}.brand-title{font-weight:800;letter-spacing:.6px}.brand-subtitle{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin-top:2px}.top-actions{gap:10px}.global-status{font-size:.82rem;color:var(--muted);min-width:72px;text-align:right}.layout{flex:1;min-height:0;display:flex}.sidebar{width:330px;min-width:330px;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0}.sidebar-title{padding:18px 18px 10px;text-transform:uppercase;font-size:.74rem;font-weight:750;color:var(--muted);letter-spacing:.7px}.add-button{margin:0 14px 14px;border:0;border-radius:8px;background:var(--surface);color:var(--text);padding:13px 14px;text-align:left;font-weight:600}.add-button:hover,.btn:hover,.robot-card:hover{background:var(--surface2)}.divider{height:1px;background:var(--border);margin:0 18px}.robot-list{overflow:auto;min-height:0;flex:1;padding:14px;display:flex;flex-direction:column;gap:8px}.robot-card{border:1px solid transparent;background:var(--surface);border-radius:9px;padding:12px 13px;color:var(--text);text-align:left;min-height:68px}.robot-card.active{border-color:rgba(168,199,250,.35);background:#343434}.robot-name{font-weight:680;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.robot-meta{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.72rem;margin-top:6px}.workspace-shell{flex:1;min-width:0;overflow:auto}.workspace{max-width:1320px;margin:0 auto;padding:30px 38px 60px}.empty{height:65vh;display:grid;place-items:center;text-align:center;color:var(--muted)}.workspace-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:14px 0 22px;border-bottom:1px solid var(--border);margin-bottom:18px}.eyebrow{text-transform:uppercase;color:var(--muted);font-size:.7rem;font-weight:750;letter-spacing:.65px;margin-bottom:6px}.workspace-heading h1{margin:0;font-size:1.6rem}.workspace-meta{margin-top:6px;color:var(--muted);font-size:.84rem}.heading-actions{gap:9px;flex-wrap:wrap}.pill{padding:6px 10px;border-radius:999px;background:var(--surface);font-size:.7rem;font-weight:750}.pill.ACTIVE{color:var(--green);background:rgba(143,214,148,.1)}.pill.DISABLED{color:var(--red);background:rgba(255,138,128,.1)}.pill.DRAFT{color:var(--yellow);background:rgba(255,209,128,.08)}.tabs{gap:5px;background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:5px;width:max-content;max-width:100%;overflow:auto;margin-bottom:18px}.tab{border:0;background:transparent;color:var(--muted);padding:8px 15px;border-radius:999px;white-space:nowrap;font-weight:650;font-size:.83rem}.tab.active,.tab:hover{background:var(--surface);color:var(--text)}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:14px;box-shadow:0 18px 36px rgba(0,0,0,.11)}.card h3{margin:0 0 4px;font-size:1.05rem}.card-description{margin:0 0 18px;color:var(--muted);font-size:.82rem;line-height:1.45}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.input,select.input,textarea.input{width:100%;border:1px solid transparent;border-radius:8px;padding:10px 12px;background:var(--surface);color:var(--text);outline:0}.input:focus{border-color:rgba(168,199,250,.38);background:var(--surface2)}textarea.input{resize:vertical;line-height:1.45;min-height:100px}.code-input{font-family:"SFMono-Regular",Consolas,monospace;font-size:.79rem;tab-size:2}.field{display:block;color:var(--muted);font-size:.79rem;margin-bottom:11px}.field>.input,.field>select,.field>textarea{margin-top:6px}.hint{color:var(--muted);font-size:.71rem;line-height:1.4;margin-top:5px}.btn{border:0;border-radius:19px;padding:9px 16px;background:var(--surface);color:var(--text);cursor:pointer;font-weight:580}.btn-sm{padding:6px 10px;font-size:.75rem}.btn-primary{background:#ededed;color:#202020}.btn-primary:hover{background:#fff}.btn-danger{color:var(--red)}.btn-success{color:var(--green)}.btn-flat{background:var(--surface)}.full{width:100%}.button-row{gap:9px;flex-wrap:wrap;margin-top:16px}.toggle{display:flex;align-items:flex-start;gap:10px;background:var(--surface);border-radius:8px;padding:11px 12px;color:var(--text);font-size:.8rem}.toggle input{margin-top:2px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.section-head h3{margin:0}.scenario-list,.action-list,.dictionary-list{display:flex;flex-direction:column;gap:9px}.scenario-step,.action-block,.dictionary-row{border:1px solid var(--border);border-radius:9px;background:rgba(255,255,255,.018)}.scenario-step{padding:13px}.scenario-step .step-title{display:grid;grid-template-columns:36px 1fr auto;gap:9px;align-items:center}.step-num{width:28px;height:28px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font-size:.75rem}.scenario-step textarea{margin-top:9px}.check-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.chip-check{background:var(--surface);padding:6px 9px;border-radius:999px;font-size:.72rem}.action-block{overflow:hidden}.action-summary{justify-content:space-between;padding:13px 14px;cursor:pointer}.action-summary-main{min-width:0}.action-summary-main b{display:block}.action-summary-main small{display:block;color:var(--muted);margin-top:3px}.action-body{border-top:1px solid var(--border);padding:14px;display:none}.action-block.open .action-body{display:block}.action-badges{display:flex;gap:6px;align-items:center}.badge{font-size:.67rem;padding:4px 7px;border-radius:999px;background:var(--surface);color:var(--muted)}.badge.on{color:var(--green)}.badge.write{color:var(--yellow)}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(10px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.modal{width:min(760px,100%);max-height:calc(100vh - 48px);overflow:auto;background:var(--modal);border:1px solid #474747;border-radius:13px;box-shadow:0 30px 90px rgba(0,0,0,.6)}.modal-wide{width:min(1180px,100%)}.modal-header{position:sticky;top:0;z-index:2;background:var(--modal);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:15px 18px}.modal-header h2{margin:0;font-size:1.12rem}.modal-content{padding:18px}.modal-footer{position:sticky;bottom:0;background:var(--modal);border-top:1px solid var(--border);padding:13px 18px;display:flex;justify-content:flex-end;gap:9px}.icon-btn{border:0;background:transparent;color:var(--muted);font-size:1.1rem;padding:5px 8px;border-radius:7px}.icon-btn:hover{background:var(--surface);color:var(--text)}.subtabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}.subtab{border:0;background:var(--surface);color:var(--muted);padding:7px 10px;border-radius:7px}.subtab.active{color:var(--text);outline:1px solid var(--border)}.builder-table{width:100%;border-collapse:collapse;margin:8px 0}.builder-table th,.builder-table td{border-bottom:1px solid var(--border);padding:7px 5px;text-align:left;font-size:.75rem;vertical-align:middle}.builder-table th{color:var(--muted);font-size:.67rem;text-transform:uppercase}.builder-table .input{padding:7px 8px;font-size:.75rem}.json-preview{background:#111;border:1px solid var(--border);border-radius:8px;padding:12px;white-space:pre-wrap;overflow:auto;max-height:300px;font:12px/1.45 Consolas,monospace;color:#d7e3ff}.error-box{background:rgba(255,138,128,.1);border:1px solid rgba(255,138,128,.2);color:var(--red);border-radius:8px;padding:10px 11px;margin:10px 0;font-size:.8rem}.info-box{background:rgba(168,199,250,.07);border:1px solid rgba(168,199,250,.16);border-radius:8px;padding:10px 11px;color:var(--blue);font-size:.78rem;line-height:1.45}.login-body{overflow:auto;display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;background:#171717}.login-shell{width:min(430px,100%);background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:32px;box-shadow:0 30px 80px rgba(0,0,0,.42)}.login-shell .brand-mark{margin-bottom:18px}.login-shell h1{margin:0 0 8px}.login-shell p{color:var(--muted);line-height:1.5;margin:0 0 24px}.login-form{display:flex;flex-direction:column;gap:14px}.login-form label{display:block;color:var(--muted);font-size:.79rem;margin:0}.login-form input{width:100%;margin-top:6px;padding:12px}.login-form .error-box{margin:0}.login-form .btn{width:100%;margin-top:6px}.toast-root{position:fixed;right:18px;bottom:18px;z-index:3000;display:flex;flex-direction:column;gap:8px}.toast{background:#333;border:1px solid var(--border);border-radius:9px;padding:10px 13px;box-shadow:0 12px 35px rgba(0,0,0,.4);max-width:430px;font-size:.8rem}.toast.error{color:var(--red)}.toast.success{color:var(--green)}.credential-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.credential-card{border:1px solid var(--border);border-radius:9px;padding:12px;background:rgba(255,255,255,.015)}.credential-card b{display:block}.credential-card small{color:var(--muted)}.dictionary-row{padding:11px 12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.call-modal{width:min(1240px,100%);height:min(780px,calc(100vh - 48px));overflow:hidden}.call-grid{display:grid;grid-template-columns:280px 1fr;height:calc(100% - 58px)}.call-side{border-right:1px solid var(--border);padding:22px;display:flex;flex-direction:column;align-items:center}.call-avatar{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;background:var(--surface);font-size:36px;margin:22px 0 13px}.call-robot-name{text-align:center;font-weight:700}.call-model{text-align:center;color:var(--muted);font-size:.72rem;margin-top:5px}.call-timer{font-size:1.45rem;font-variant-numeric:tabular-nums;margin:18px}.connection{font-size:.72rem;padding:5px 9px;border-radius:999px;background:rgba(255,209,128,.08);color:var(--yellow)}.connection.active{color:var(--green);background:rgba(143,214,148,.08)}.hangup{margin-top:auto;border-radius:999px;background:rgba(255,80,80,.17);color:#ffaaa3;width:66px;height:66px;padding:0;font-size:23px}.call-main{min-width:0;display:flex;flex-direction:column}.toolbar{padding:10px 12px;border-bottom:1px solid var(--border);gap:7px;flex-wrap:wrap}.filter-btn{border:0;border-radius:999px;padding:6px 9px;background:var(--surface);color:var(--muted);font-size:.7rem}.filter-btn.active{color:var(--text);outline:1px solid var(--border)}.event-stream{flex:1;overflow:auto;padding:15px 18px}.event{border-left:3px solid #555;padding:9px 11px;margin-bottom:10px;background:rgba(255,255,255,.018);border-radius:0 8px 8px 0}.event.TRANSCRIPT{border-color:var(--blue)}.event.ACTION,.event.TOOL{border-color:var(--yellow)}.event.ERROR{border-color:var(--red)}.event.GEMINI,.event.CALL{border-color:var(--green)}.event-head{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:.68rem}.event-message{margin-top:5px;font-size:.84rem;line-height:1.45}.event details{margin-top:7px}.event pre{white-space:pre-wrap;word-break:break-word;background:#111;border-radius:7px;padding:9px;max-height:280px;overflow:auto;font:11px/1.4 Consolas,monospace}.state-drawer{border-top:1px solid var(--border);padding:10px 14px;max-height:190px;overflow:auto;background:#181818}.history-table{width:100%;border-collapse:collapse}.history-table th,.history-table td{padding:10px;border-bottom:1px solid var(--border);font-size:.77rem;text-align:left}.history-table th{color:var(--muted)}@media(max-width:1000px){.sidebar{width:270px;min-width:270px}.workspace{padding:24px}.grid-3,.grid-2,.credential-grid{grid-template-columns:1fr}.call-grid{grid-template-columns:220px 1fr}}@media(max-width:760px){.sidebar{width:220px;min-width:220px}.workspace{padding:18px}.call-grid{grid-template-columns:1fr}.call-side{display:none}.top-header{padding:0 12px}.brand-subtitle{display:none}}
.flex{display:flex;align-items:center;gap:8px}.empty-sidebar{padding:16px;color:var(--muted);font-size:.82rem}.robot-nav{border:1px solid transparent;background:var(--surface);border-radius:9px;padding:12px 13px;color:var(--text);text-align:left;min-height:72px;display:flex;flex-direction:column;gap:4px;cursor:pointer}.robot-nav:hover{background:var(--surface2)}.robot-nav.active{border-color:rgba(168,199,250,.35);background:#343434}.robot-nav b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.robot-nav small{color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.robot-nav .robot-meta{justify-content:flex-start;margin-top:2px;align-items:center}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#777}.dot.ACTIVE{background:var(--green)}.dot.DRAFT{background:var(--yellow)}.dot.DISABLED{background:var(--red)}.empty-workspace{height:65vh;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.empty-workspace p{max-width:600px;color:var(--muted);line-height:1.5}.scenario-step .input[data-step-title]{margin:0}.dictionary-row code{overflow-wrap:anywhere}.action-body details{margin-top:12px}.action-body summary{cursor:pointer;color:var(--muted);font-size:.76rem}.builder-table td:last-child{width:34px}.builder-table input[type=checkbox]{accent-color:#fff}.modal-content section[hidden]{display:none!important}.call-modal .modal-header{height:58px}.event.USER,.event.ROBOT{border-color:var(--blue)}

/* Conversation scenario: all numbered steps are visible and editable at once. */
.scenario-card .section-head{align-items:center}.scenario-step{padding:12px 13px}.scenario-step-row{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:10px;align-items:start}.scenario-step-row .step-num{margin-top:7px}.scenario-step-row textarea.input{margin:0;min-height:92px;resize:vertical}.scenario-delete{margin-top:5px}.scenario-empty{padding:20px;border:1px dashed var(--border);border-radius:9px;text-align:center;background:rgba(255,255,255,.012)}

/* Test-call modal: fixed left controls + independently scrolling timeline. */
.call-modal{display:flex;flex-direction:column}.call-modal>.modal-header{position:relative;top:auto;flex:0 0 58px}.call-grid{flex:1;height:auto;min-height:0;overflow:hidden}.call-side{height:100%;min-height:0;overflow:hidden;flex:0 0 auto}.call-direction{margin-top:9px;color:var(--muted);font-size:.7rem;line-height:1.35;text-align:center}.hangup{flex:0 0 66px}.call-main{height:100%;min-height:0;overflow:hidden}.call-main>.toolbar{flex:0 0 auto}.event-stream{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;padding:15px 18px;overscroll-behavior:contain}.auto-scroll-control{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:.71rem;white-space:nowrap}.auto-scroll-control input{margin:0}.call-main .event-stream:empty::before{content:'История звонка появится здесь';display:block;color:var(--muted);font-size:.78rem;padding:8px 0}

/* Robot background ambience */
.background-audio-toggle{margin-bottom:14px}.background-audio-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 15px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.018);flex-wrap:wrap}.background-audio-current{display:flex;align-items:center;gap:11px;min-width:0;flex:1}.background-audio-current>div{min-width:0}.background-audio-current b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.background-audio-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:var(--surface);font-size:20px;color:var(--blue)}.background-audio-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.file-picker{position:relative;overflow:hidden;cursor:pointer}.file-picker input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.background-audio-selected{flex-basis:100%;min-height:16px}@media(max-width:760px){.background-audio-panel{align-items:stretch}.background-audio-actions{width:100%}.background-audio-actions .btn{flex:1}}

/* Background audio volume */
.background-volume-field{margin-top:16px}
.background-volume-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px;color:var(--text)}
.background-volume-title b{font-variant-numeric:tabular-nums;min-width:48px;text-align:right}
.background-volume-range{width:100%;accent-color:#d8d8d8;cursor:pointer}

/* Conversation variables: deliberately simple, roomy editor. */
.variables-card .section-head{align-items:center}.variables-help{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin:-2px 0 14px;border:1px solid rgba(168,199,250,.15);background:rgba(168,199,250,.055);border-radius:10px;color:var(--muted);font-size:.78rem;line-height:1.45}.variables-help b{color:var(--blue);white-space:nowrap}.variable-list{display:flex;flex-direction:column;gap:12px}.variable-card{border:1px solid var(--border);border-radius:11px;background:rgba(255,255,255,.018);padding:16px}.variable-card-head{display:flex;align-items:flex-start;gap:12px}.variable-name-wrap{display:grid;grid-template-columns:minmax(220px,1fr) 180px;gap:12px;flex:1}.variable-name-wrap .field{margin-bottom:7px}.variable-delete{margin-top:21px}.variable-description-field{margin:3px 0 0}.variable-description{min-height:160px;height:160px;max-height:520px;overflow-y:auto;resize:vertical;line-height:1.52}.variable-empty{padding:24px;border:1px dashed var(--border);border-radius:10px;text-align:center;background:rgba(255,255,255,.012)}

/* Simplified Action editor. */
.action-editor-simple{display:flex;flex-direction:column;gap:14px}.action-editor-section{display:grid;grid-template-columns:38px minmax(0,1fr);gap:13px;padding:16px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.014)}.section-number{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--text);font-weight:750;font-size:.8rem}.action-editor-section-body{min-width:0}.action-editor-section .section-head{margin-bottom:12px}.action-editor-section .card-description{margin:3px 0 0}.compact-head{align-items:center;margin-top:14px;margin-bottom:7px}.compact-head h3{font-size:.92rem}.mapping-section{margin-top:14px;padding-top:3px}.simple-mapping-table td:nth-child(1){width:30%}.simple-mapping-table td:nth-child(2){width:160px}.simple-mapping-table td:nth-child(3){width:auto}.simple-mapping-table select,.simple-mapping-table input{min-width:0}.body-preview-wrap{margin-top:12px}.compact-preview{max-height:190px}.auth-box{border:1px solid var(--border);border-radius:10px;padding:13px 14px;background:rgba(255,255,255,.018);margin:3px 0 14px}.auth-box .auth-saved{margin:0 0 9px}.auth-box .field:last-child{margin-bottom:0}.write-dedup{margin-top:3px}.response-details{border-top:1px solid var(--border);padding-top:11px}.response-details>summary{cursor:pointer;color:var(--blue);font-size:.8rem;font-weight:650}.response-config{padding-top:14px}.action-variable-strip{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:.73rem;margin-bottom:10px}.action-variable-strip code{padding:4px 7px;border-radius:999px;background:rgba(168,199,250,.08);color:var(--blue);font-size:.7rem}

/* Timeline variable state changes. */
.event.VARIABLE{border-color:#c8a8fa;background:rgba(200,168,250,.045)}.variable-event-value{display:flex;align-items:center;gap:8px;margin-top:6px;min-width:0}.variable-event-value code{color:#d8c3ff;background:rgba(200,168,250,.08);padding:3px 6px;border-radius:5px;font-size:.75rem}.variable-event-value span{color:var(--muted)}.variable-event-value strong{font-size:.84rem;font-weight:600;overflow-wrap:anywhere}

@media(max-width:760px){.variable-name-wrap{grid-template-columns:1fr}.action-editor-section{grid-template-columns:1fr}.section-number{display:none}.simple-mapping-table{display:block;overflow-x:auto}}

/* 2026-08-21 layout refresh: robot gallery + full-width robot editor. */
.brand[role=button]{cursor:pointer;outline:none}.brand[role=button]:focus-visible{border-radius:10px;box-shadow:0 0 0 2px rgba(168,199,250,.42)}
.layout{display:block;overflow:hidden;background:var(--bg)}
.home-screen,.editor-screen{height:100%;min-height:0;overflow:auto}
.home-screen{background:var(--panel)}
.home-content{width:100%;padding:34px 38px 60px}
.home-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}
.home-heading h1{font-size:1.75rem;margin:0}
.robot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
.robot-tile{min-width:0;min-height:150px;padding:17px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer;display:flex;flex-direction:column;transition:background .16s ease,border-color .16s ease,transform .16s ease;box-shadow:0 16px 32px rgba(0,0,0,.12)}
.robot-tile:hover{background:var(--surface2);border-color:rgba(168,199,250,.28);transform:translateY(-2px)}
.robot-tile:focus-visible{outline:2px solid rgba(168,199,250,.55);outline-offset:2px}
.robot-tile-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:auto}
.robot-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#262626;border:1px solid var(--border);color:var(--blue)}
.robot-tile>b{display:block;margin-top:18px;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.robot-tile>small{display:block;margin-top:6px;color:var(--muted);font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.empty-home{grid-column:1/-1;min-height:52vh;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:var(--muted)}
.empty-home h2{margin:0 0 8px;color:var(--text)}.empty-home p{margin:0}
.editor-screen{background:var(--bg)}
.workspace{max-width:none;margin:0;padding:0 38px 60px}
.robot-toolbar{position:sticky;top:0;z-index:20;min-height:84px;margin:0 -38px 24px;padding:14px 38px;display:grid;grid-template-columns:minmax(190px,260px) minmax(0,1fr) auto;align-items:center;gap:22px;background:rgba(33,33,33,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.robot-toolbar-title{min-width:0}.robot-toolbar-title .eyebrow{margin-bottom:3px}.robot-toolbar-title h1{margin:0;font-size:1.22rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.robot-tabs{margin:0;justify-self:start;min-width:0}
.robot-toolbar-actions{justify-content:flex-end;flex-wrap:nowrap;white-space:nowrap}
.tab-panel{width:100%;min-width:0}

@media(max-width:1250px){.robot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.robot-toolbar{grid-template-columns:minmax(180px,230px) minmax(0,1fr)}.robot-toolbar-actions{grid-column:2;justify-self:end}.robot-tabs{grid-row:2;grid-column:1/-1}.robot-toolbar{padding-top:12px;padding-bottom:12px}}
@media(max-width:900px){.robot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-content,.workspace{padding-left:24px;padding-right:24px}.robot-toolbar{margin-left:-24px;margin-right:-24px;padding-left:24px;padding-right:24px}.top-header{padding:0 18px}.global-status{display:none}}
@media(max-width:620px){body{overflow:auto}.app-shell{min-height:100vh;height:auto}.top-header{height:auto;min-height:58px;padding-top:10px;padding-bottom:10px;align-items:flex-start;gap:12px}.top-actions{justify-content:flex-end;flex-wrap:wrap}.brand-subtitle{display:none}.home-screen,.editor-screen{height:auto;min-height:calc(100vh - 58px)}.layout{overflow:visible}.home-content,.workspace{padding-left:16px;padding-right:16px}.robot-grid{grid-template-columns:1fr}.robot-toolbar{position:relative;margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px;grid-template-columns:1fr}.robot-toolbar-actions,.robot-tabs{grid-column:1;justify-self:start}.robot-tabs{grid-row:auto;max-width:100%}.robot-toolbar-actions{width:100%;justify-content:space-between}}

/* ==========================================================================\n   VOICE ROBOT STUDIO — layout refresh v2 (2026-08-22)\n   Home gallery + full-width robot editor. Deliberately appended as an\n   override so all existing component styles keep working unchanged.\n   ========================================================================== */
:root{
  --v2-header:#15171b;
  --v2-home:#181a1f;
  --v2-editor:#292b30;
  --v2-card:#202329;
  --v2-card-hover:#252930;
  --v2-line:rgba(255,255,255,.085);
  --v2-line-strong:rgba(255,255,255,.13);
  --v2-text:#f2f4f7;
  --v2-muted:#979eaa;
  --v2-accent:#8fb5ff;
  --v2-shadow:0 16px 44px rgba(0,0,0,.20);
}
html,body{background:var(--v2-home);color:var(--v2-text)}
body{overflow:hidden}
button{font-family:inherit}
.app-shell{height:100vh;background:var(--v2-home)}

/* Header */
.top-header{
  height:68px;min-height:68px;padding:0 28px;background:var(--v2-header);
  border-bottom:1px solid rgba(255,255,255,.07);box-shadow:0 1px 0 rgba(0,0,0,.35);
  position:relative;z-index:100;
}
.brand{gap:12px;min-width:0;user-select:none}
.brand[role=button]{cursor:pointer}
.brand-mark{
  width:40px;height:40px;min-width:40px;border-radius:12px;background:#202329;
  border:1px solid rgba(255,255,255,.10);position:relative;display:grid;place-items:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.brand-mark:before,.brand-mark:after,.brand-mark span{content:"";position:absolute;border-radius:50%}
.brand-mark:before{width:17px;height:17px;border:1.5px solid rgba(255,255,255,.92)}
.brand-mark:after{width:7px;height:7px;background:#a8c7fa;box-shadow:0 0 12px rgba(168,199,250,.55)}
.brand-mark span{width:25px;height:25px;border:1px solid rgba(168,199,250,.16)}
.brand-copy{min-width:0}
.brand-title{font-size:.92rem;line-height:1.05;font-weight:800;letter-spacing:.8px;color:#f6f7f9}
.brand-subtitle{font-size:.62rem;line-height:1.2;color:#858c98;letter-spacing:1.15px;margin-top:5px}
.top-actions{gap:8px;flex-wrap:nowrap}
.global-status{display:inline-flex;align-items:center;gap:7px;color:#8e96a3;font-size:.73rem;margin-right:4px;min-width:auto}
.global-status i{width:6px;height:6px;border-radius:50%;background:#82c995;box-shadow:0 0 0 3px rgba(130,201,149,.08)}
.btn-header{
  height:36px;border-radius:9px;padding:0 13px;background:#202329;color:#d8dce3;
  border:1px solid rgba(255,255,255,.08);font-size:.78rem;font-weight:650;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.btn-header:hover{background:#292d34;border-color:rgba(255,255,255,.14)}
.btn-header:active{transform:translateY(1px)}
.btn-header-primary{background:#eff2f6;color:#17191d;border-color:#eff2f6;padding-left:11px}
.btn-header-primary:hover{background:#fff;border-color:#fff}
.btn-header-quiet{background:transparent;border-color:transparent;color:#a9b0bb}
.btn-header-quiet:hover{background:rgba(255,255,255,.055);border-color:transparent;color:#eef0f4}
.btn-plus{font-size:1rem;line-height:0;vertical-align:-1px;margin-right:2px}

/* Main shell */
.layout{flex:1;min-height:0;display:block;overflow:hidden;background:var(--v2-home)}
.home-screen,.editor-screen{height:100%;min-height:0;overflow:auto}
.home-screen{background:var(--v2-home)}
.editor-screen{background:var(--v2-editor)}

/* Home */
.home-content{width:100%;max-width:1720px;margin:0 auto;padding:42px 32px 64px}
.home-heading{display:flex;align-items:flex-end;justify-content:space-between;margin:0 0 27px;padding:0}
.home-heading h1{margin:0;color:#f6f7f9;font-size:1.82rem;line-height:1.08;font-weight:720;letter-spacing:-.025em}
.home-heading p{margin:8px 0 0;color:#7f8794;font-size:.82rem}
.robot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}
.robot-tile{
  appearance:none;-webkit-appearance:none;width:100%;min-width:0;height:154px;padding:16px 17px;
  border:1px solid var(--v2-line);border-radius:13px;background:linear-gradient(145deg,#22252b 0%,#1f2227 100%);
  color:var(--v2-text);text-align:left;cursor:pointer;display:flex;flex-direction:column;position:relative;overflow:hidden;
  box-shadow:0 8px 28px rgba(0,0,0,.10);transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.robot-tile:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 0%,rgba(143,181,255,.07),transparent 42%);pointer-events:none}
.robot-tile:hover{background:linear-gradient(145deg,#272b32 0%,#22252b 100%);border-color:rgba(143,181,255,.28);transform:translateY(-2px);box-shadow:var(--v2-shadow)}
.robot-tile:focus-visible{outline:2px solid rgba(143,181,255,.68);outline-offset:3px}
.robot-tile-top{display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative;z-index:1}
.robot-avatar{width:38px;height:38px;min-width:38px;border-radius:11px;background:#2c3037;border:1px solid rgba(255,255,255,.08);display:flex;align-items:flex-end;justify-content:center;gap:3px;padding:9px 8px;color:transparent}
.robot-avatar i{display:block;width:4px;border-radius:3px;background:#a9c8ff;box-shadow:0 0 8px rgba(143,181,255,.17)}
.robot-avatar i:nth-child(1){height:10px;opacity:.72}.robot-avatar i:nth-child(2){height:18px}.robot-avatar i:nth-child(3){height:13px;opacity:.85}
.robot-status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 8px;background:rgba(255,255,255,.045);color:#aeb4be;font-size:.64rem;font-weight:760;letter-spacing:.04em;line-height:1;text-transform:uppercase;border:1px solid rgba(255,255,255,.055)}
.robot-status i{width:6px;height:6px;border-radius:50%;background:#aab0ba}
.robot-status.DRAFT{color:#e4bf75;background:rgba(228,191,117,.07);border-color:rgba(228,191,117,.13)}.robot-status.DRAFT i{background:#e4bf75}
.robot-status.ACTIVE{color:#81cf99;background:rgba(129,207,153,.07);border-color:rgba(129,207,153,.13)}.robot-status.ACTIVE i{background:#81cf99;box-shadow:0 0 8px rgba(129,207,153,.30)}
.robot-status.DISABLED{color:#d78383;background:rgba(215,131,131,.07);border-color:rgba(215,131,131,.13)}.robot-status.DISABLED i{background:#d78383}
.robot-tile-copy{display:block;margin-top:18px;min-width:0;position:relative;z-index:1}
.robot-tile-copy b{display:block;color:#f0f2f5;font-size:.92rem;line-height:1.2;font-weight:690;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.robot-tile-copy small{display:block;margin-top:6px;color:#8c939f;font-size:.70rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.robot-tile-open{position:absolute;right:17px;bottom:14px;color:#707885;font-size:.68rem;opacity:0;transform:translateX(-3px);transition:opacity .16s ease,transform .16s ease;z-index:1}
.robot-tile-open span{margin-left:4px;color:#9cbcff}
.robot-tile:hover .robot-tile-open{opacity:1;transform:none}
.empty-home{grid-column:1/-1;min-height:52vh;border:1px dashed rgba(255,255,255,.09);border-radius:16px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:#848b96;background:rgba(255,255,255,.015)}
.empty-home-icon{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:#22252a;border:1px solid rgba(255,255,255,.07);color:#9abaff;font-size:1.35rem;margin-bottom:15px}
.empty-home h2{margin:0 0 7px;color:#e8ebef;font-size:1rem}.empty-home p{margin:0;font-size:.78rem}

/* Robot editor */
.workspace{max-width:none;margin:0;padding:0;min-height:100%;background:var(--v2-editor)}
.robot-toolbar{
  position:sticky;top:0;z-index:30;min-height:82px;margin:0;padding:13px 28px;
  display:grid;grid-template-columns:minmax(185px,255px) minmax(430px,1fr) auto;align-items:center;gap:18px;
  background:rgba(31,33,38,.985);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.075);box-shadow:0 5px 20px rgba(0,0,0,.09);
}
.robot-toolbar-title{min-width:0;padding-left:1px}
.robot-toolbar-title h1{margin:0;color:#f3f5f7;font-size:1.05rem;line-height:1.2;font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.robot-toolbar-meta{margin-top:5px;color:#7f8793;font-size:.66rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.robot-tabs{
  justify-self:start;margin:0;padding:4px;gap:2px;max-width:100%;overflow-x:auto;scrollbar-width:none;
  background:#17191d;border:1px solid rgba(255,255,255,.065);border-radius:11px;box-shadow:inset 0 1px 0 rgba(255,255,255,.02)
}
.robot-tabs::-webkit-scrollbar{display:none}
.robot-tabs .tab{height:32px;padding:0 11px;border-radius:8px;color:#8e96a1;font-size:.72rem;font-weight:650;transition:background .14s ease,color .14s ease,box-shadow .14s ease}
.robot-tabs .tab:hover{background:#22252a;color:#d6dae0}
.robot-tabs .tab.active{background:#2a2d33;color:#f4f5f7;box-shadow:0 1px 5px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.045)}
.robot-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;white-space:nowrap}
.robot-status-large{height:34px;padding:0 10px;font-size:.63rem}
.btn-test-robot{height:36px;border-radius:9px;padding:0 13px;border:1px solid rgba(255,255,255,.92);background:#eff2f5;color:#17191d;font-size:.75rem;font-weight:720;box-shadow:0 4px 12px rgba(0,0,0,.10);transition:background .15s ease,transform .15s ease}
.btn-test-robot:hover{background:#fff}.btn-test-robot:active{transform:translateY(1px)}.test-icon{font-size:.67rem;margin-right:4px}
.tab-panel{width:100%;min-width:0;max-width:none;padding:28px 30px 58px;background:var(--v2-editor)}
.tab-panel>form,.tab-panel>.card{width:100%;max-width:none;margin-left:0;margin-right:0}
.tab-panel .card{background:#222429;border:1px solid rgba(255,255,255,.075);border-radius:13px;box-shadow:0 10px 30px rgba(0,0,0,.07);padding:20px 21px;margin-bottom:14px}
.tab-panel .card:hover{border-color:rgba(255,255,255,.095)}
.tab-panel .eyebrow{color:#737b87;font-size:.62rem;letter-spacing:.09em}
.tab-panel .card h3{color:#f0f2f5;font-size:.98rem}
.tab-panel .card-description{color:#8a919d}
.tab-panel .input,.tab-panel select.input,.tab-panel textarea.input{background:#2b2e34;border:1px solid rgba(255,255,255,.07);color:#eef0f3}
.tab-panel .input:hover,.tab-panel select.input:hover,.tab-panel textarea.input:hover{border-color:rgba(255,255,255,.105)}
.tab-panel .input:focus,.tab-panel select.input:focus,.tab-panel textarea.input:focus{background:#2d3036;border-color:rgba(143,181,255,.42);box-shadow:0 0 0 3px rgba(143,181,255,.06)}
.tab-panel .toggle{background:#2a2d32;border:1px solid rgba(255,255,255,.055)}
.tab-panel .btn:not(.btn-primary):not(.btn-danger):not(.btn-test-robot){background:#2b2e34;border:1px solid rgba(255,255,255,.07)}
.tab-panel .btn:not(.btn-primary):not(.btn-danger):not(.btn-test-robot):hover{background:#32363d}
.tab-panel .btn-primary{background:#eef1f5;color:#17191d}

/* Keep exactly four gallery columns on normal desktop widths. */
@media(max-width:760px){
  body{overflow:auto}.app-shell{height:auto;min-height:100vh}.top-header{height:auto;min-height:68px;padding:10px 14px;gap:12px;align-items:center}
  .brand-subtitle{display:none}.top-actions{gap:5px;flex-wrap:wrap;justify-content:flex-end}.global-status{display:none}.btn-header{height:33px;padding:0 9px;font-size:.7rem}
  .layout{overflow:visible}.home-screen,.editor-screen{height:auto;min-height:calc(100vh - 68px)}.home-content{padding:28px 16px 50px}
  .robot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.robot-tile{height:142px;padding:14px}.robot-tile-open{display:none}
  .robot-toolbar{position:relative;padding:13px 16px;grid-template-columns:1fr auto;gap:12px}.robot-toolbar-title{grid-column:1}.robot-toolbar-actions{grid-column:2;grid-row:1}.robot-tabs{grid-column:1/-1;grid-row:2;width:100%;justify-self:stretch}.tab-panel{padding:20px 16px 44px}.grid-3,.grid-2,.credential-grid{grid-template-columns:1fr}
}
@media(max-width:500px){.robot-grid{grid-template-columns:1fr}.brand-title{font-size:.82rem}.btn-header-primary{max-width:132px}.robot-toolbar-actions .robot-status{display:none}}
.global-status i{display:none}.global-status::before{content:"";width:6px;height:6px;border-radius:50%;background:#82c995;box-shadow:0 0 0 3px rgba(130,201,149,.08);flex:0 0 auto}
@media(min-width:761px){.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.credential-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ============================================================
   Visual Scenario Builder · 2026-08-22
   ============================================================ */
:root{--control-height:36px;--control-radius:9px;--control-font-size:.75rem;--flow-panel:#191b20;--flow-canvas:#1d1f24;--flow-node:#292c32;--flow-line:#77818f;--flow-accent:#9dbdff}

/* Unified controls */
.btn,.btn-sm,.btn-header,.btn-test-robot,.subtab,.filter-btn,.add-button{
  min-height:var(--control-height);height:var(--control-height);border-radius:var(--control-radius);padding:0 13px;
  display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:var(--control-font-size);font-weight:650;line-height:1;white-space:nowrap;
}
.btn-sm{font-size:var(--control-font-size);padding:0 13px}
.icon-btn{width:var(--control-height);height:var(--control-height);min-width:var(--control-height);padding:0;border-radius:var(--control-radius);display:inline-grid;place-items:center;font-size:.95rem;cursor:pointer}
.robot-tabs .tab{height:var(--control-height);min-height:var(--control-height);border-radius:var(--control-radius);padding:0 12px;font-size:var(--control-font-size);font-weight:650}
.robot-status-large{height:var(--control-height);min-height:var(--control-height);border-radius:var(--control-radius);padding:0 12px;font-size:var(--control-font-size);font-weight:650;letter-spacing:.025em}
.btn-test-robot{height:var(--control-height);border-radius:var(--control-radius);font-size:var(--control-font-size)}
.hangup{width:auto;height:var(--control-height);min-height:var(--control-height);border-radius:var(--control-radius);padding:0 14px;font-size:.95rem}
.connection{min-height:28px;border-radius:8px;display:inline-flex;align-items:center}
.modal-footer-split{justify-content:space-between}.modal-footer-split>div{display:flex;gap:9px}

/* Scenario tab becomes a real workspace */
.tab-panel.scenario-mode{padding:0;height:calc(100vh - 140px);min-height:520px;overflow:hidden;background:var(--flow-canvas)}
.flow-builder{height:100%;min-height:0;display:grid;grid-template-columns:258px minmax(0,1fr);background:var(--flow-canvas);transition:grid-template-columns .18s ease}
.flow-builder.palette-collapsed{grid-template-columns:18px minmax(0,1fr)}
.flow-palette{position:relative;min-width:0;background:linear-gradient(180deg,#1a1c21 0%,#181a1f 100%);border-right:1px solid rgba(255,255,255,.075);display:flex;flex-direction:column;z-index:8;box-shadow:8px 0 24px rgba(0,0,0,.08)}
.flow-palette-head{padding:20px 18px 15px;border-bottom:1px solid rgba(255,255,255,.065);overflow:hidden;white-space:nowrap}
.flow-palette-head .eyebrow{margin-bottom:7px;color:#6f7885}.flow-palette-head h3{margin:0;color:#f0f2f5;font-size:.98rem;font-weight:700}.flow-palette-head p{margin:6px 0 0;color:#777f8b;font-size:.7rem}
.flow-palette-body{padding:15px 13px;overflow:auto;min-width:0}.flow-palette-group{margin:0 5px 9px;color:#686f7a;font-size:.61rem;font-weight:760;letter-spacing:.09em;text-transform:uppercase}
.flow-palette-item{height:64px;width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:0 11px;border-radius:11px;border:1px solid rgba(255,255,255,.075);background:#23262c;color:#e9ebef;cursor:grab;user-select:none;box-shadow:0 6px 16px rgba(0,0,0,.08);transition:background .14s ease,border-color .14s ease,transform .14s ease}
.flow-palette-item:hover{background:#292d34;border-color:rgba(157,189,255,.25);transform:translateY(-1px)}.flow-palette-item:active{cursor:grabbing}.flow-palette-item:focus-visible{outline:2px solid rgba(157,189,255,.55);outline-offset:2px}
.flow-palette-icon{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;background:#303742;border:1px solid rgba(157,189,255,.18);color:#a9c5ff;font-size:1.1rem}
.flow-ui-icon{width:20px;height:20px;display:block;overflow:visible;flex:0 0 auto}.flow-node-icon .flow-ui-icon{width:21px;height:21px}.replica-info>span .flow-ui-icon,.present-info>span .flow-ui-icon,.call-trigger-info>span .flow-ui-icon{width:20px;height:20px}.flow-palette-item b{display:block;font-size:.78rem;font-weight:700}.flow-palette-item small{display:block;margin-top:4px;color:#7d8591;font-size:.64rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flow-palette-grip{color:#656d78;font-size:.92rem;text-align:center}
.flow-palette-toggle{position:absolute;z-index:15;right:-10px;top:50%;transform:translateY(-50%);width:20px;height:54px;padding:0;border:1px solid rgba(255,255,255,.095);border-radius:7px;background:#282b31;color:#8f97a3;display:grid;place-items:center;cursor:pointer;box-shadow:0 5px 16px rgba(0,0,0,.25);transition:background .14s ease,color .14s ease,border-color .14s ease}
.flow-palette-toggle:hover{background:#33373f;color:#fff;border-color:rgba(157,189,255,.28)}.flow-palette-toggle span{font-size:1rem;line-height:1}
.palette-collapsed .flow-palette-head,.palette-collapsed .flow-palette-body{opacity:0;pointer-events:none}.palette-collapsed .flow-palette{overflow:visible}.palette-collapsed .flow-palette-toggle{right:-10px}

.flow-workspace{min-width:0;min-height:0;display:grid;grid-template-rows:56px minmax(0,1fr) 29px;background:var(--flow-canvas)}
.flow-toolbar{height:56px;padding:0 15px 0 18px;border-bottom:1px solid rgba(255,255,255,.065);background:rgba(31,33,38,.96);display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:6}
.flow-toolbar-copy{min-width:0}.flow-toolbar-copy b{display:block;color:#e9ebee;font-size:.78rem;font-weight:700}.flow-toolbar-copy span{display:block;margin-top:4px;color:#737b87;font-size:.65rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.flow-toolbar-actions{display:flex;align-items:center;gap:9px}.flow-save-state{height:28px;padding:0 9px;border-radius:8px;display:inline-flex;align-items:center;gap:6px;color:#7f8996;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.055);font-size:.64rem;font-weight:650;white-space:nowrap}.flow-save-state i{width:6px;height:6px;border-radius:50%;background:#7ec894}.flow-save-state.saving i{background:#e5ba6e;animation:flowPulse 1s infinite}.flow-save-state.error{color:#d78a8a}.flow-save-state.error i{background:#d77f7f}@keyframes flowPulse{50%{opacity:.35}}
.flow-viewport{position:relative;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;background:#1d1f24;cursor:grab;scrollbar-color:#3a3e46 #1d1f24;scrollbar-width:thin}.flow-viewport.panning{cursor:grabbing;user-select:none}
.flow-canvas{position:relative;min-width:2200px;min-height:1350px;background-color:#1d1f24;background-image:radial-gradient(circle,rgba(180,190,205,.13) 1px,transparent 1.15px);background-size:22px 22px;transform:translateZ(0)}
.flow-canvas:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 20% 10%,rgba(125,157,214,.025),transparent 35%)}
.flow-edge-layer{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:1;pointer-events:none}.flow-edge-layer marker path{fill:#6f7885}.flow-edge{pointer-events:none}.flow-edge-line,.flow-edge-preview{fill:none;stroke:#6f7885;stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none}.flow-edge.selected .flow-edge-line{stroke:#9cbcff;stroke-width:2.4}.flow-edge-hit{fill:none;stroke:transparent;stroke-width:14;pointer-events:stroke;cursor:pointer}.flow-edge-handle{fill:#2a2d33;stroke:#8f99a6;stroke-width:2;pointer-events:all;cursor:crosshair;opacity:.55}.flow-edge:hover .flow-edge-handle,.flow-edge.selected .flow-edge-handle{opacity:1}.flow-edge.selected .flow-edge-handle{stroke:#a8c6ff}.flow-edge-preview{stroke:#9cbcff;stroke-width:2;stroke-dasharray:6 5}
.flow-node{position:absolute;width:196px;height:78px;z-index:3;outline:0;filter:drop-shadow(0 10px 20px rgba(0,0,0,.16))}.flow-node.dragging{z-index:20;filter:drop-shadow(0 17px 26px rgba(0,0,0,.28))}.flow-node-main{width:100%;height:100%;display:grid;grid-template-columns:42px minmax(0,1fr) 16px;align-items:center;gap:9px;padding:0 12px;border:1px solid rgba(255,255,255,.095);border-radius:11px;background:linear-gradient(145deg,#2a2d33,#26292f);cursor:grab;user-select:none;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,transform .08s ease}.flow-node-main:hover{background:linear-gradient(145deg,#2f333a,#292c32);border-color:rgba(157,189,255,.25);box-shadow:0 0 0 1px rgba(157,189,255,.04)}.flow-node.dragging .flow-node-main{cursor:grabbing;border-color:rgba(157,189,255,.35);transform:scale(1.015)}.flow-node:focus-visible .flow-node-main{outline:2px solid rgba(157,189,255,.55);outline-offset:3px}
.flow-node-icon{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;background:#343a45;border:1px solid rgba(157,189,255,.17);color:#aac6ff;font-size:1.08rem}.flow-node-copy{min-width:0}.flow-node-copy small{display:block;color:#747d89;font-size:.57rem;font-weight:760;letter-spacing:.08em}.flow-node-copy b{display:-webkit-box;color:#f0f2f5;font-size:.77rem;font-weight:690;line-height:1.28;white-space:normal;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.flow-node-open{color:#69717d;font-size:.9rem;text-align:right}
.flow-port{position:absolute;top:50%;width:13px;height:13px;margin-top:-6.5px;border-radius:50%;background:#24272d;border:2px solid #8993a0;z-index:7;cursor:crosshair;box-shadow:0 0 0 3px rgba(29,31,36,.85);transition:background .13s ease,border-color .13s ease,transform .13s ease}.flow-port:hover{background:#9cbcff;border-color:#c6d9ff;transform:scale(1.18)}.flow-port-in{left:-6.5px}.flow-port-out{right:-6.5px}
.flow-empty{position:absolute;left:360px;top:220px;width:360px;padding:30px;border:1px dashed rgba(255,255,255,.11);border-radius:14px;background:rgba(255,255,255,.018);display:flex;align-items:center;justify-content:center;flex-direction:column;color:#737b87;text-align:center;z-index:2;pointer-events:none}.flow-empty>span{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:#292c32;border:1px solid rgba(255,255,255,.07);color:#a7c4ff;font-size:1.15rem;margin-bottom:11px}.flow-empty b{color:#d9dde2;font-size:.78rem}.flow-empty small{margin-top:6px;max-width:260px;line-height:1.45;font-size:.65rem}
.flow-footer-hint{height:29px;padding:0 15px;border-top:1px solid rgba(255,255,255,.055);background:#191b20;display:flex;align-items:center;justify-content:flex-end;gap:18px;color:#626b77;font-size:.59rem;white-space:nowrap;overflow:hidden}
.scenario-node-prompt{min-height:260px!important;resize:vertical}

@media(max-width:900px){.flow-builder{grid-template-columns:220px minmax(0,1fr)}.flow-builder.palette-collapsed{grid-template-columns:18px minmax(0,1fr)}.flow-toolbar-copy span{display:none}.flow-footer-hint span:first-child{display:none}}
@media(max-width:760px){.tab-panel.scenario-mode{height:70vh;min-height:560px;padding:0}.flow-builder{grid-template-columns:205px minmax(650px,1fr)}.flow-builder.palette-collapsed{grid-template-columns:18px minmax(650px,1fr)}.flow-toolbar{padding-left:13px}.flow-footer-hint{justify-content:flex-start}.flow-save-state{display:none}.robot-tabs .tab{height:var(--control-height)}}

/* ============================================================
   Visual Scenario Builder · graph UX pass 2
   ============================================================ */
:root{--modal:#222429;--flow-condition:#d6b06a;--flow-variable:#c7a9ff}

/* Modals use the same graphite family as the rest of Robot Studio. */
.modal-backdrop{background:rgba(8,9,11,.68);backdrop-filter:blur(8px)}
.modal{background:#222429;border-color:rgba(255,255,255,.105);box-shadow:0 34px 100px rgba(0,0,0,.62)}
.modal-header,.modal-footer{background:#1f2227}
.intent-modal-footer{align-items:center}.intent-index-warning{flex:0 1 auto;min-width:0;max-width:330px;margin:0 10px;padding:5px 9px;border:1px solid rgba(255,209,128,.2);border-radius:999px;background:rgba(255,209,128,.06);color:var(--muted);font-size:.66rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.intent-index-warning span{display:block;overflow:hidden;text-overflow:ellipsis}.btn:disabled{opacity:.58;cursor:wait}@media(max-width:900px){.intent-modal-footer{align-items:stretch;flex-direction:column}.intent-index-warning{order:-1;max-width:none;margin:0;width:100%;border-radius:8px;white-space:normal}.intent-modal-footer>div:last-child{justify-content:flex-end}}
.modal-content{background:#222429}
.modal .input,.modal select.input,.modal textarea.input{background:#292c32;border-color:rgba(255,255,255,.055)}
.modal .input:focus,.modal select.input:focus,.modal textarea.input:focus{background:#2d3138;border-color:rgba(157,189,255,.38)}

/* Infinite-style viewport: navigation is transform-based, never scrollbar-based. */
.flow-viewport{overflow:hidden;touch-action:none;cursor:grab;scrollbar-width:none;background-color:#1d1f24;background-image:radial-gradient(circle,rgba(180,190,205,.13) 1px,transparent 1.15px);background-size:var(--flow-grid-size,22px) var(--flow-grid-size,22px);background-position:var(--flow-grid-x,0) var(--flow-grid-y,0);user-select:none}
.flow-viewport::-webkit-scrollbar{display:none}
.flow-viewport.panning{cursor:grabbing}
.flow-canvas{position:absolute;left:0;top:0;width:1px;height:1px;min-width:0;min-height:0;background:none;transform-origin:0 0;will-change:transform}
.flow-canvas:after{display:none}
.flow-edge-layer{position:absolute;inset:auto;left:-200000px;top:-200000px;width:400000px;height:400000px;overflow:visible;z-index:1;pointer-events:none}
.flow-edge-line,.flow-edge-preview{stroke:#6f7885;stroke-width:2;vector-effect:non-scaling-stroke}
.flow-edge.selected .flow-edge-line{stroke:#a9c5ff;stroke-width:2.45}
.flow-edge-hit{stroke-width:16;pointer-events:stroke}
.flow-zoom-label{height:28px;min-width:48px;padding:0 9px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.055);color:#8f98a5;font-size:.64rem;font-weight:700;font-variant-numeric:tabular-nums}
.flow-empty{left:0;top:0;transform:translate(-50%,-50%)}

/* Node families */
.flow-node-condition .flow-node-main{border-color:rgba(214,176,106,.17);background:linear-gradient(145deg,#2d2d30,#292a2e)}
.flow-node-condition .flow-node-main:hover{border-color:rgba(214,176,106,.38);background:linear-gradient(145deg,#323235,#2d2e32)}
.flow-node-condition .flow-node-icon,.flow-palette-condition .flow-palette-icon{background:rgba(214,176,106,.09);border-color:rgba(214,176,106,.24);color:#e1bd7c}
.flow-node-case .flow-node-main{border-color:rgba(139,151,224,.20);background:linear-gradient(145deg,#2b2c36,#292a31)}
.flow-node-case .flow-node-main:hover{border-color:rgba(151,165,239,.43);background:linear-gradient(145deg,#30323d,#2d2e36)}
.flow-node-case .flow-node-icon,.flow-palette-case .flow-palette-icon{background:rgba(143,154,230,.10);border-color:rgba(151,164,238,.25);color:#aab4f1}.flow-node-case .flow-node-copy small{color:#858fc5}
.flow-node-call .flow-node-main{border-color:rgba(111,164,245,.27);background:linear-gradient(145deg,#293140,#272d37);box-shadow:0 8px 24px rgba(23,36,58,.13)}
.flow-node-call .flow-node-main:hover{border-color:rgba(123,177,255,.50);background:linear-gradient(145deg,#2d3748,#2b323e)}
.flow-node-call .flow-node-icon,.flow-palette-call .flow-palette-icon{background:rgba(99,157,239,.10);border-color:rgba(111,172,255,.27);color:#91bdf7}.flow-node-call .flow-node-copy small{color:#829cc3}.flow-node-call .flow-port-out{border-color:#87b5f0}

.flow-palette-group-spaced{margin-top:17px}
.flow-port-yes{top:24px;margin-top:-6.5px;border-color:#86c99a}
.flow-port-no{top:54px;margin-top:-6.5px;border-color:#d58e8e}
.flow-port em{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-style:normal;font-size:.54rem;font-weight:760;letter-spacing:.02em;pointer-events:none;color:#87909c;white-space:nowrap}
.flow-port-yes em{color:#8dcda0}.flow-port-no em{color:#d99898}
.case-color-1{--case-color:#86aef7}.case-color-2{--case-color:#ae8df2}.case-color-3{--case-color:#65bddb}.case-color-4{--case-color:#d4a45e}.case-color-5{--case-color:#d984bf}.case-color-6{--case-color:#8a91e8}.case-color-7{--case-color:#bf8d6d}.case-color-8{--case-color:#91a8c7}
.flow-port-case{margin-top:-6.5px;border-color:var(--case-color)}.flow-port-case:hover{background:var(--case-color);border-color:var(--case-color)}.flow-port-case em{color:var(--case-color);font-size:.58rem}


/* Condition editor */
.condition-rules-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:17px 0 9px}.condition-rules-head b{display:block;color:#eef0f3;font-size:.84rem}.condition-rules-head small{display:block;margin-top:4px;color:#7f8792;font-size:.68rem}.condition-rules{display:flex;flex-direction:column;gap:8px}.condition-rule{display:grid;grid-template-columns:minmax(170px,1.15fr) minmax(170px,1fr) minmax(150px,.9fr) 36px;gap:8px;align-items:end;padding:10px;border:1px solid rgba(255,255,255,.065);border-radius:10px;background:#202328}.condition-rule label{min-width:0;color:#858d98;font-size:.67rem}.condition-rule label>span{display:block;margin:0 0 5px 2px}.condition-rule .input{height:36px;margin:0;padding:0 10px;font-size:.72rem}.condition-rule-remove{margin:0}.condition-value-hidden{visibility:hidden;pointer-events:none}.condition-route-preview{display:grid;grid-template-columns:42px 1fr;gap:6px 10px;align-items:center;margin-top:14px;padding:11px 12px;border:1px solid rgba(255,255,255,.055);border-radius:10px;background:#191b20;color:#7e8793;font-size:.68rem}.condition-route-preview .route-yes,.condition-route-preview .route-no{height:24px;border-radius:7px;display:grid;place-items:center;font-weight:760}.condition-route-preview .route-yes{color:#91d1a2;background:rgba(134,201,154,.08)}.condition-route-preview .route-no{color:#dc9a9a;background:rgba(213,142,142,.08)}

/* Prompt editor with IntelliJ-like variable completion. */
.prompt-smart-editor{position:relative;margin-top:6px;min-height:282px;border-radius:9px;background:#292c32}
.prompt-highlight,.prompt-smart-textarea{width:100%;min-height:282px!important;height:282px;max-height:520px;padding:11px 12px!important;border:1px solid transparent!important;border-radius:9px!important;font:inherit;line-height:1.5!important;letter-spacing:normal;white-space:pre-wrap;overflow-wrap:break-word;tab-size:4}
.prompt-highlight{position:absolute;inset:0;z-index:1;overflow:hidden;background:#292c32;color:#e9ebef;pointer-events:none}
.prompt-smart-textarea{position:relative;z-index:2;display:block;resize:vertical!important;overflow:auto;background:transparent!important;color:transparent!important;caret-color:#f2f4f7;-webkit-text-fill-color:transparent}
.prompt-smart-textarea:focus{background:transparent!important;box-shadow:0 0 0 1px rgba(157,189,255,.34)}
.prompt-smart-textarea::selection{background:rgba(123,157,220,.32);-webkit-text-fill-color:transparent}
.prompt-variable-token{display:inline;padding:1px 2px;margin:0 -2px;border-radius:4px;background:rgba(199,169,255,.11);color:#cfb5ff;font-weight:650}
.variable-suggest{position:absolute;z-index:20;width:250px;max-height:244px;overflow:auto;padding:5px;background:#17191d;border:1px solid rgba(255,255,255,.11);border-radius:9px;box-shadow:0 16px 44px rgba(0,0,0,.48)}
.variable-suggest-item{width:100%;height:44px;border:0;border-radius:7px;background:transparent;color:#e9ebef;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;padding:0 9px;text-align:left;cursor:pointer}.variable-suggest-item:hover,.variable-suggest-item.active{background:#292d34}.variable-suggest-symbol{color:#cbb0fb;font:700 .68rem/1 Consolas,monospace}.variable-suggest-item b{display:block;font-size:.72rem;font-weight:700}.variable-suggest-item small{display:block;margin-top:3px;color:#737c88;font-size:.61rem;text-transform:uppercase}

@media(max-width:900px){.condition-rule{grid-template-columns:1fr 1fr}.condition-rule-remove{grid-column:2;justify-self:end}.condition-value-hidden{display:none}}
.flow-edge-reconnect-hit{fill:transparent;stroke:transparent;stroke-width:1;pointer-events:all;cursor:crosshair;opacity:0}
.robot-status{border-radius:var(--control-radius)}
.prompt-highlight{height:100%!important;max-height:none!important}

/* Visual builder polish — fixed-step zoom and product-native confirmations. */
.flow-zoom-control{height:30px;display:inline-flex;align-items:center;gap:0;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:#272a30;box-shadow:0 4px 14px rgba(0,0,0,.12);overflow:hidden}
.flow-zoom-btn,.flow-zoom-reset{height:28px;min-width:30px;padding:0;border:0;background:transparent;color:#8f98a5;font:700 .76rem/1 var(--font-ui,Inter,system-ui,-apple-system,"Segoe UI",sans-serif);cursor:pointer;display:grid;place-items:center;transition:background .14s ease,color .14s ease}
.flow-zoom-btn:hover,.flow-zoom-reset:hover{background:rgba(157,189,255,.08);color:#c4d6ff}
.flow-zoom-btn:active,.flow-zoom-reset:active{background:rgba(157,189,255,.13)}
.flow-zoom-btn:focus-visible,.flow-zoom-reset:focus-visible{outline:2px solid rgba(157,189,255,.52);outline-offset:-2px}
.flow-zoom-label{height:28px;min-width:48px;padding:0 8px;border:0;border-left:1px solid rgba(255,255,255,.055);border-right:1px solid rgba(255,255,255,.055);border-radius:0;background:transparent;color:#a2aab5;font-size:.64rem;font-weight:720;font-variant-numeric:tabular-nums}
.flow-zoom-reset{min-width:29px;border-left:1px solid rgba(255,255,255,.055);font-size:.78rem}

.flow-edge-line{stroke-linecap:round;stroke-linejoin:round}
.flow-edge-preview{stroke-linecap:round;stroke-linejoin:round}

.confirm-overlay{position:fixed;inset:0;z-index:1600;display:grid;place-items:center;padding:22px;background:rgba(8,9,11,.62);backdrop-filter:blur(7px);opacity:0;transition:opacity .13s ease}
.confirm-overlay.visible{opacity:1}
.confirm-dialog{width:min(430px,calc(100vw - 36px));display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:14px;row-gap:18px;padding:20px;background:#222429;border:1px solid rgba(255,255,255,.105);border-radius:13px;box-shadow:0 32px 90px rgba(0,0,0,.62)}
.confirm-dialog-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:rgba(157,189,255,.09);border:1px solid rgba(157,189,255,.20);color:#aac6ff;font-size:.95rem;font-weight:800}
.confirm-dialog-icon.danger{background:rgba(218,108,108,.09);border-color:rgba(218,108,108,.20);color:#e69a9a}
.confirm-dialog-copy{min-width:0;padding-top:1px}.confirm-dialog-copy h3{margin:0;color:#f0f2f5;font-size:.91rem;font-weight:720}.confirm-dialog-copy p{margin:7px 0 0;color:#9aa2ad;font-size:.75rem;line-height:1.52}
.confirm-dialog-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px;padding-top:2px}

@media(max-width:760px){.flow-zoom-control{height:28px}.flow-zoom-btn,.flow-zoom-reset,.flow-zoom-label{height:26px}.flow-toolbar-actions{gap:6px}}

/* Test call console: explicit call lifecycle + diagnostic export */
.call-control-wrap{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:18px}
.call-control-btn{width:68px;height:68px;min-width:68px;min-height:68px;border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,opacity .16s ease;box-shadow:0 10px 26px rgba(0,0,0,.24);outline:none}
.call-control-btn:hover:not(:disabled){transform:translateY(-1px) scale(1.025)}
.call-control-btn:active:not(:disabled){transform:translateY(0) scale(.98)}
.call-control-btn:focus-visible{box-shadow:0 0 0 3px rgba(168,199,250,.2),0 10px 26px rgba(0,0,0,.24)}
.call-control-btn.start{background:linear-gradient(180deg,#50b978 0%,#389c61 100%);color:#f3fff7}
.call-control-btn.start:hover:not(:disabled){background:linear-gradient(180deg,#5bc984 0%,#3da768 100%)}
.call-control-btn.stop{background:linear-gradient(180deg,#cf5d5d 0%,#b74848 100%);color:#fff4f4}
.call-control-btn.stop:hover:not(:disabled){background:linear-gradient(180deg,#dd6868 0%,#c34e4e 100%)}
.call-control-btn:disabled{cursor:default;opacity:.52;box-shadow:none;transform:none}
.call-control-glyph{width:30px;height:30px;display:block;position:relative}
.call-control-glyph svg{width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.call-control-glyph .call-control-phone{fill:currentColor;stroke:none;transform-origin:12px 12px;transition:transform .15s ease}
.call-control-glyph.stop .call-control-phone{transform:rotate(135deg)}
.call-control-glyph.stop .call-control-arrow{display:none}
.call-control-label{font-size:.69rem;color:#858d98;font-weight:650;letter-spacing:.01em;min-height:16px}
.connection.ready{color:#9aa2ad;background:rgba(255,255,255,.045)}
.connection.starting,.connection.ending{color:#e4bb73;background:rgba(228,187,115,.09)}
.connection.finished{color:#8f99a5;background:rgba(143,153,165,.09)}
.connection.error{color:#e58b87;background:rgba(229,139,135,.09)}
.call-toolbar-spacer{flex:1 1 auto}
.call-log-download{height:30px;min-height:30px;padding:0 10px;border:1px solid rgba(168,199,250,.14);background:rgba(168,199,250,.065);color:#bfd4f8;white-space:nowrap}
.call-log-download:hover:not(:disabled){background:rgba(168,199,250,.12);color:#e3edff}
.call-log-download:disabled{opacity:.38;cursor:not-allowed;background:rgba(255,255,255,.025);color:#777f8a;border-color:rgba(255,255,255,.05)}
.history-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.call-log-history-btn{color:#bdd1f4;border:1px solid rgba(168,199,250,.11)}
.history-status{display:inline-flex;align-items:center;height:25px;padding:0 8px;border-radius:7px;background:rgba(255,255,255,.04);color:#aab1ba;font-size:.67rem;font-weight:750;letter-spacing:.025em}
.history-status.FINISHED{color:#8fd694;background:rgba(143,214,148,.07)}
.history-status.ERROR{color:#ff9b94;background:rgba(255,138,128,.08)}
.history-status.ACTIVE,.history-status.CONNECTED{color:#a8c7fa;background:rgba(168,199,250,.08)}
.modal-header-actions{display:flex;align-items:center;gap:9px}
.historical-event-stream{height:60vh;border:1px solid rgba(255,255,255,.045);border-radius:9px;background:rgba(0,0,0,.08)}
.historical-state-preview{max-height:60vh}
@media(max-width:760px){.call-toolbar-spacer{display:none}.call-main>.toolbar{gap:6px}.call-log-download{margin-left:auto}}

/* Flow Runtime v4 — deterministic dialog completion + explicit END node */
.flow-node-end .flow-node-main{border-color:rgba(214,121,121,.20);background:linear-gradient(145deg,#302a2d,#2b292d)}
.flow-node-end .flow-node-main:hover{border-color:rgba(226,132,132,.42);background:linear-gradient(145deg,#362e31,#302d31)}
.flow-node-end .flow-node-icon,.flow-palette-end .flow-palette-icon{background:rgba(216,113,113,.09);border-color:rgba(222,125,125,.24);color:#e39b9b}
.flow-palette-end{border-color:rgba(214,121,121,.09)}
.dialog-completion-panel{margin-top:18px;padding:16px;border:1px solid rgba(157,189,255,.11);border-radius:12px;background:linear-gradient(145deg,rgba(27,31,38,.96),rgba(29,31,36,.96))}
.dialog-completion-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.dialog-completion-head .eyebrow{margin-bottom:5px}.dialog-completion-head h3{margin:0;color:#f0f2f5;font-size:.92rem}.dialog-completion-head p{margin:5px 0 0;color:#7d8590;font-size:.68rem;line-height:1.45}
.completion-badge{min-width:48px;height:27px;padding:0 9px;display:grid;place-items:center;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#252930;color:#9ca5b2;font-size:.62rem;font-weight:800;letter-spacing:.06em}.completion-badge[data-mode="RULES"]{color:#9fc2ff;border-color:rgba(157,189,255,.25);background:rgba(157,189,255,.07)}.completion-badge[data-mode="AFTER_RESPONSE"]{color:#9fd6b0;border-color:rgba(135,206,158,.22);background:rgba(135,206,158,.06)}
.completion-mode-help,.end-mode-note{margin:10px 0 14px;padding:10px 12px;border:1px solid rgba(255,255,255,.055);border-radius:10px;background:#1c1f24;color:#818a96;font-size:.69rem;line-height:1.5}.completion-mode-help b,.end-mode-note b{color:#cdd2da;font-weight:700}
.dialog-completion-panel .condition-rules-head{margin-top:14px}.dialog-completion-panel>.field{margin-top:0}
.flow-node-dialog .flow-node-copy small{transition:color .14s ease}.flow-node-dialog:hover .flow-node-copy small{color:#8595ab}
.flow-node-end .flow-node-copy small{color:#987276}.flow-node-end .flow-node-copy b{color:#f0e8e9}

/* Flow Runtime v5 — zero-wait Replica + portable robot transfer */
.home-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.btn-home-import{height:36px;padding:0 13px;border:1px solid rgba(168,199,250,.12);background:rgba(168,199,250,.055);color:#bfd4f8}.btn-home-import span{font-size:.82rem;margin-right:5px}.btn-home-import:hover{background:rgba(168,199,250,.10);color:#e4edff}
.btn-robot-export{height:34px;padding:0 12px;border:1px solid rgba(255,255,255,.07);background:#292c31;color:#aeb6c2}.btn-robot-export:hover{background:#31353b;color:#e4e8ee}
.flow-node-replica .flow-node-main{border-color:rgba(190,160,246,.18);background:linear-gradient(145deg,#2c2932,#292a30)}
.flow-node-replica .flow-node-main:hover{border-color:rgba(197,169,250,.38);background:linear-gradient(145deg,#322e3a,#2d2e35)}
.flow-node-replica .flow-node-icon,.flow-palette-replica .flow-palette-icon{background:rgba(190,160,246,.09);border-color:rgba(197,169,250,.23);color:#c9aef8}
.flow-node-replica .flow-node-copy small{color:#927eae}.flow-node-replica .flow-node-copy b{color:#eee9f6}.flow-palette-replica{border-color:rgba(190,160,246,.08)}
.replica-info{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;padding:13px 14px;margin-bottom:16px;border:1px solid rgba(190,160,246,.11);border-radius:11px;background:rgba(190,160,246,.045)}.replica-info>span{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:rgba(190,160,246,.10);color:#cfb5ff;font-size:1rem}.replica-info b{display:block;color:#e8e2f1;font-size:.78rem}.replica-info p{margin:5px 0 0;color:#8f879b;font-size:.7rem;line-height:1.5}
.robot-import-drop{min-height:174px;border:1px dashed rgba(168,199,250,.25);border-radius:13px;background:linear-gradient(145deg,rgba(168,199,250,.035),rgba(255,255,255,.015));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;cursor:pointer;transition:.16s ease}.robot-import-drop:hover{border-color:rgba(168,199,250,.48);background:rgba(168,199,250,.055)}.robot-import-drop input{display:none}.robot-import-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:rgba(168,199,250,.09);border:1px solid rgba(168,199,250,.15);color:#bdd4ff;font-size:1.15rem}.robot-import-drop b{font-size:.82rem;color:#e8ebef}.robot-import-drop small{font-size:.67rem;color:#77808c}
.robot-import-preview{margin-top:13px}.import-preview-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 12px;border:1px solid rgba(255,255,255,.065);border-radius:10px;background:#1d2024}.import-preview-card b{display:block;font-size:.78rem}.import-preview-card small{display:block;color:#7e8792;font-size:.66rem;margin-top:3px}.import-security-note{margin-top:9px;padding:9px 11px;border-radius:9px;background:rgba(255,209,128,.045);border:1px solid rgba(255,209,128,.10);color:#a79a80;font-size:.68rem;line-height:1.45}
.import-warning-list{display:flex;flex-direction:column;gap:8px}.import-warning-list>div{display:grid;grid-template-columns:25px 1fr;gap:9px;padding:9px 10px;border:1px solid rgba(255,209,128,.08);border-radius:9px;background:rgba(255,209,128,.035)}.import-warning-list span{width:23px;height:23px;display:grid;place-items:center;border-radius:7px;background:rgba(255,209,128,.10);color:#d9b875;font-size:.7rem;font-weight:800}.import-warning-list p{margin:2px 0;color:#a9a194;font-size:.7rem;line-height:1.45}
@media(max-width:760px){.home-heading{align-items:flex-start;flex-direction:column}.btn-home-import{align-self:flex-start}.robot-toolbar-actions{gap:6px}.btn-robot-export{padding:0 9px}}
.robot-import-drop.drag-over{border-color:rgba(168,199,250,.72);background:rgba(168,199,250,.09);box-shadow:inset 0 0 0 1px rgba(168,199,250,.16),0 12px 34px rgba(0,0,0,.12)}


/* Step 8 — terminal safety + compact execution timeline */
.end-safety-banner{display:flex;gap:12px;align-items:flex-start;padding:12px 13px;margin:0 0 14px;border:1px solid rgba(255,138,128,.18);background:rgba(255,138,128,.055);border-radius:10px}
.end-safety-banner>span{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:8px;background:rgba(255,138,128,.10);color:var(--red);font-size:.85rem}
.end-safety-banner b{display:block;font-size:.84rem;color:var(--text);margin:1px 0 3px}.end-safety-banner p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.45}
.field-optional{font-size:.68rem;color:var(--muted);font-weight:500;margin-left:5px}

.event.timeline-primary{padding:10px 12px;margin-bottom:9px;border-left-width:3px}
.event.FLOW{border-color:#86b8ff;background:rgba(134,184,255,.035)}
.event.INTERRUPTION{border-color:#ffd180;background:rgba(255,209,128,.04)}
.event.call-finished-event{border-color:var(--green);background:rgba(143,214,148,.035)}
.flow-transition-line,.flow-condition-line{display:flex;align-items:center;gap:9px;margin-top:7px;min-width:0}
.flow-transition-line span,.flow-transition-line strong,.flow-condition-line span{font-size:.84rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.flow-transition-line span{color:var(--muted)}.flow-transition-line i{font-style:normal;color:#86b8ff;font-weight:800}.flow-transition-line strong{font-weight:680;color:var(--text)}
.flow-condition-line{justify-content:space-between}.flow-condition-line span{color:var(--text)}
.flow-condition-line strong{flex:0 0 auto;font-size:.68rem;padding:4px 7px;border-radius:6px;letter-spacing:.45px}
.flow-condition-line strong.yes{color:var(--green);background:rgba(143,214,148,.09)}.flow-condition-line strong.no{color:var(--red);background:rgba(255,138,128,.09)}

.event-tech{margin-top:8px!important;border-top:1px solid rgba(255,255,255,.055);padding-top:7px}
.event-tech>summary{cursor:pointer;list-style:none;color:#7f8287;font-size:.67rem;display:inline-flex;align-items:center;gap:6px;user-select:none}
.event-tech>summary::-webkit-details-marker{display:none}.event-tech>summary::before{content:'›';display:inline-block;font-size:.9rem;line-height:1;transition:transform .15s ease}.event-tech[open]>summary::before{transform:rotate(90deg)}
.event-tech>summary span{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:rgba(255,255,255,.045);font-size:.62rem}
.event-tech-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.event-tech-item{padding:7px 8px;border-radius:7px;background:rgba(0,0,0,.13);border:1px solid rgba(255,255,255,.04)}
.event-tech-item>b{display:block;color:#91949a;font:600 10px/1.35 "SFMono-Regular",Consolas,monospace}.event-tech-item p{margin:4px 0 0;color:var(--muted);font-size:.68rem;line-height:1.4}
.event-tech-item pre{margin:6px 0 0!important;max-height:190px!important;background:#151515!important;color:#aeb5bf!important;font-size:10px!important}
.historical-event-stream .event-tech-list{max-width:100%}

/* Step 9 — universal builder sidebar, deterministic Action node and exact prompt caret metrics. */
.flow-builder{grid-template-columns:330px minmax(0,1fr)}
.flow-side-tabs{height:43px;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:7px 9px;border-bottom:1px solid rgba(255,255,255,.065);background:#191b20;flex:0 0 auto}
.flow-side-tab{border:0;border-radius:8px;background:transparent;color:#77808c;font-size:.7rem;font-weight:720;cursor:pointer;transition:.14s ease}
.flow-side-tab:hover{color:#d9dde4;background:rgba(255,255,255,.035)}
.flow-side-tab.active{color:#f0f2f5;background:#282b31;box-shadow:inset 0 0 0 1px rgba(255,255,255,.065)}
.flow-side-content{display:flex;flex:1;min-height:0;flex-direction:column;overflow:hidden}
.palette-collapsed .flow-side-tabs,.palette-collapsed .flow-side-content{opacity:0;pointer-events:none}
.flow-palette-body{flex:1;min-height:0}
.flow-history-list-head{min-height:91px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:17px 14px 12px;border-bottom:1px solid rgba(255,255,255,.06)}
.flow-history-list-head h3{margin:0;color:#f0f2f5;font-size:.92rem}.flow-history-list-head p{margin:5px 0 0;color:#747d89;font-size:.65rem}.flow-history-refresh,.flow-history-back,.flow-history-download{border:0;background:transparent;color:#89929f;cursor:pointer;border-radius:7px}.flow-history-refresh{width:30px;height:30px;font-size:1rem}.flow-history-refresh:hover,.flow-history-back:hover,.flow-history-download:hover{background:#292d34;color:#fff}
.flow-history-list{flex:1;min-height:0;overflow:auto;padding:9px}.flow-history-row{width:100%;min-height:54px;border:1px solid transparent;border-bottom-color:rgba(255,255,255,.05);background:transparent;color:#e7e9ed;display:grid;grid-template-columns:10px minmax(0,1fr) auto 30px;align-items:center;gap:8px;padding:7px 6px;border-radius:8px;text-align:left;cursor:pointer}.flow-history-row:hover{background:#23262c;border-color:rgba(255,255,255,.065)}
.flow-history-dot{width:6px;height:6px;border-radius:50%;background:#7d8591}.flow-history-dot.FINISHED{background:#7fc595}.flow-history-dot.ERROR{background:#d77f7f}.flow-history-date b,.flow-history-date small{display:block}.flow-history-date b{font-size:.69rem;font-weight:670}.flow-history-date small{margin-top:3px;color:#747d89;font-size:.62rem;font-variant-numeric:tabular-nums}.flow-history-duration{color:#78818d;font-size:.61rem;font-variant-numeric:tabular-nums}.flow-history-row>.flow-history-download{width:28px;height:28px;display:grid;place-items:center;font-size:.85rem}.flow-history-empty,.flow-history-loading{padding:22px 14px;color:#737c88;font-size:.7rem;text-align:center}
.flow-history-detail{display:flex;flex-direction:column;flex:1;min-height:0}.flow-history-detail-head{min-height:58px;display:grid;grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;gap:7px;padding:7px 9px;border-bottom:1px solid rgba(255,255,255,.06)}.flow-history-detail-head b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem}.flow-history-detail-head small{display:block;color:#747d89;font-size:.6rem;margin-top:2px}.flow-history-back,.flow-history-detail-head .flow-history-download{width:30px;height:30px}
.flow-history-timeline{padding:9px 8px!important;background:#181a1f}.flow-history-timeline .event{padding:7px 8px;margin-bottom:7px;border-radius:0 7px 7px 0}.flow-history-timeline .event-head{font-size:.58rem}.flow-history-timeline .event-message{font-size:.72rem;line-height:1.36}.flow-history-timeline .variable-event-value,.flow-history-timeline .flow-transition-line,.flow-history-timeline .flow-condition-line,.flow-history-timeline .flow-action-line{font-size:.68rem}.flow-history-timeline .event-tech summary{font-size:.6rem}

.flow-node-action .flow-node-main{border-color:rgba(91,185,202,.20);background:linear-gradient(145deg,#293035,#282c31)}
.flow-node-action .flow-node-main:hover{border-color:rgba(105,199,216,.43);background:linear-gradient(145deg,#2d373d,#2c3137)}
.flow-node-action .flow-node-icon,.flow-palette-action .flow-palette-icon{background:rgba(91,185,202,.09);border-color:rgba(105,199,216,.25);color:#83d1de}
.flow-palette-action{border-color:rgba(91,185,202,.09)}.flow-node-action .flow-node-copy small{color:#71969e}.flow-node-action .flow-node-copy b{color:#e9f1f3}.flow-node-action .flow-node-copy em{display:block;margin-top:2px;max-width:114px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#74838a;font-size:.56rem;font-style:normal}
.flow-node-action .flow-port-yes,.flow-node-action .flow-port-no{right:-7px}.flow-node-action .flow-port-yes em,.flow-node-action .flow-port-no em{right:13px}
.action-node-library,.action-node-arguments{margin-top:14px;padding:14px;border:1px solid rgba(255,255,255,.065);border-radius:11px;background:#1f2227}.action-node-library-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}.action-node-library-head h3,.action-node-arguments h3{margin:0;font-size:.88rem}.action-node-summary{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:54px;padding:8px 10px;margin:8px 0;border:1px solid rgba(255,255,255,.06);border-radius:9px;background:#272a30}.action-node-summary-icon{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:rgba(91,185,202,.09);color:#83d1de}.action-node-summary b{display:block;font-size:.73rem}.action-node-summary small{display:block;margin-top:3px;color:#77808b;font-size:.62rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-node-summary-empty{grid-column:1/-1;color:#747d89;font-size:.69rem}.action-node-arg{display:grid;grid-template-columns:minmax(100px,.8fr) 100px minmax(125px,1fr) 36px;gap:7px;align-items:center;margin-top:7px}.action-node-arg .input{height:35px;padding:0 9px;font-size:.68rem}.action-node-arg .action-arg-constant{grid-column:3}.action-route-preview{display:grid;grid-template-columns:58px 1fr;gap:7px 10px;align-items:center;margin-top:14px;padding:11px 12px;border:1px solid rgba(255,255,255,.055);border-radius:10px;background:#191b20;color:#7e8793;font-size:.68rem}.action-route-preview .route-yes,.action-route-preview .route-no{height:24px;border-radius:7px;display:grid;place-items:center;font-weight:760}.action-route-preview .route-yes{color:#91d1a2;background:rgba(134,201,154,.08)}.action-route-preview .route-no{color:#dc9a9a;background:rgba(213,142,142,.08)}
.flow-action-line{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:.8rem}.flow-action-line span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-action-line strong{padding:3px 7px;border-radius:6px;font-size:.62rem}.flow-action-line strong.yes{color:#91d1a2;background:rgba(134,201,154,.08)}.flow-action-line strong.no{color:#dc9a9a;background:rgba(213,142,142,.08)}.flow-action-line small{margin-left:auto;color:#747d89;font-size:.61rem}

/* Highlight must never alter glyph metrics: the real textarea caret then stays pixel-aligned. */
.prompt-variable-token{display:inline!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;font:inherit!important;font-weight:inherit!important;font-style:inherit!important;letter-spacing:inherit!important;line-height:inherit!important;color:#cfb5ff;background:rgba(199,169,255,.09);box-shadow:inset 0 -1px 0 rgba(199,169,255,.34)}
.prompt-highlight,.prompt-smart-textarea{word-spacing:normal!important;text-rendering:auto;font-kerning:auto}

@media(max-width:900px){.flow-builder{grid-template-columns:286px minmax(0,1fr)}}
@media(max-width:760px){.flow-builder{grid-template-columns:260px minmax(650px,1fr)}}

/* Step 11 — stable sidebar shell, real independent scrolling and flash-free canvas mount. */
.flow-builder{height:100%;min-height:0;display:grid;grid-template-columns:330px minmax(0,1fr);background:var(--flow-canvas);transition:grid-template-columns .18s ease}
.flow-builder.palette-collapsed{grid-template-columns:10px minmax(0,1fr)}
.flow-builder.flow-mounting{transition:none}
.flow-builder.flow-mounting .flow-workspace{visibility:hidden}

/* The shell owns collapse/expand. Its content never owns the handle. */
.flow-sidebar-shell{position:relative;height:100%;min-height:0;min-width:0;overflow:visible;z-index:12;background:#191b20}
.flow-palette{position:absolute;inset:0;height:auto;min-height:0;min-width:0;display:grid;grid-template-rows:43px minmax(0,1fr);overflow:hidden;background:linear-gradient(180deg,#1a1c21 0%,#181a1f 100%);border-right:1px solid rgba(255,255,255,.075);box-shadow:8px 0 24px rgba(0,0,0,.08);transition:opacity .12s ease}
.flow-side-tabs{position:relative;z-index:2;height:43px;min-height:43px;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:7px 9px;border-bottom:1px solid rgba(255,255,255,.065);background:#191b20;overflow:hidden}
.flow-side-content{min-width:0;min-height:0;height:auto;overflow:hidden;background:linear-gradient(180deg,#1a1c21 0%,#181a1f 100%)}
.palette-collapsed .flow-palette{opacity:0;visibility:hidden;pointer-events:none}

/* One persistent handle, positioned by the shell and therefore independent of the active tab. */
.flow-palette-toggle{position:absolute;top:50%;right:-7px;transform:translateY(-50%);width:14px;height:50px;padding:0;border:1px solid rgba(255,255,255,.095);border-radius:5px;background:#282b31;color:#8f97a3;display:grid;place-items:center;cursor:pointer;z-index:80;box-shadow:0 5px 16px rgba(0,0,0,.25);transition:background .14s ease,color .14s ease,border-color .14s ease;pointer-events:auto}
.flow-palette-toggle:hover{background:#33373f;color:#fff;border-color:rgba(157,189,255,.28)}
.flow-palette-toggle span{font-size:.86rem;line-height:1;transform:translateX(-.2px)}
.palette-collapsed .flow-palette-toggle{right:-7px}

/* Every tab gets a real, bounded scrolling region below the fixed tab strip. */
.flow-palette-body,.flow-history-list{height:100%;max-height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#4a505b #1a1c21}
.flow-palette-body{padding:14px 13px 18px}
.flow-history-list{padding:8px 9px 14px}
.flow-palette-body::-webkit-scrollbar,.flow-history-list::-webkit-scrollbar,.flow-history-timeline::-webkit-scrollbar{width:8px}
.flow-palette-body::-webkit-scrollbar-thumb,.flow-history-list::-webkit-scrollbar-thumb,.flow-history-timeline::-webkit-scrollbar-thumb{background:#4a505b;border-radius:999px;border:2px solid #1a1c21}
.flow-palette-body::-webkit-scrollbar-thumb:hover,.flow-history-list::-webkit-scrollbar-thumb:hover,.flow-history-timeline::-webkit-scrollbar-thumb:hover{background:#606875}
.flow-palette-body::-webkit-scrollbar-track,.flow-history-list::-webkit-scrollbar-track,.flow-history-timeline::-webkit-scrollbar-track{background:#1a1c21}
.flow-palette-item+.flow-palette-item{margin-top:8px}
.flow-history-loading{width:100%;padding:22px 14px;color:#737c88;font-size:.7rem;text-align:center}

/* Detail view owns a fixed header and a separately scrollable timeline. */
.flow-history-detail{height:100%;min-height:0;display:grid!important;grid-template-rows:52px minmax(0,1fr);overflow:hidden}
.flow-history-detail-head{min-height:52px;height:52px;padding:6px 8px;background:#191b20;display:grid;grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;gap:7px;border-bottom:1px solid rgba(255,255,255,.06)}
.flow-history-detail-head b{font-size:.67rem;font-weight:680}
.flow-history-detail-head small{display:none}
.flow-history-timeline{height:auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#4a505b #181a1f;padding:9px 8px!important;background:#181a1f}

/* Canvas is a sibling of the sidebar shell. Sidebar rendering cannot mutate camera geometry. */
.flow-workspace{position:relative;display:block;min-width:0;min-height:0;overflow:hidden;background:var(--flow-canvas)}
.flow-workspace>.flow-viewport{position:absolute;inset:0;width:auto;height:auto}
.flow-floating-controls{position:absolute;top:13px;right:14px;z-index:24;display:flex;align-items:center;gap:8px;pointer-events:none}
.flow-floating-controls>*{pointer-events:auto}
.flow-floating-controls .flow-save-state{background:rgba(39,42,48,.88);border-color:rgba(255,255,255,.075);box-shadow:0 5px 18px rgba(0,0,0,.16);backdrop-filter:blur(8px)}
.flow-floating-controls .flow-zoom-control{background:rgba(39,42,48,.88);box-shadow:0 5px 18px rgba(0,0,0,.16);backdrop-filter:blur(8px)}
.flow-center-btn{height:30px;padding:0 12px;border-radius:9px;background:rgba(39,42,48,.88);border:1px solid rgba(255,255,255,.07);box-shadow:0 5px 18px rgba(0,0,0,.16);backdrop-filter:blur(8px);font-size:.68rem;color:#a2aab5}
.flow-center-btn:hover{background:rgba(48,52,60,.95);color:#fff}

.flow-edge-menu{position:absolute;z-index:35;display:flex;align-items:center;gap:3px;min-height:34px;padding:4px;border:1px solid rgba(255,255,255,.10);border-radius:9px;background:rgba(30,32,37,.96);box-shadow:0 12px 28px rgba(0,0,0,.34);backdrop-filter:blur(10px);white-space:nowrap;transform:translateZ(0)}
.flow-edge-menu>span{width:1px;height:18px;margin:0 2px;background:rgba(255,255,255,.08)}
.flow-edge-menu button{height:26px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:#9aa3af;font-size:.62rem;font-weight:650;cursor:pointer}
.flow-edge-menu button:hover{background:#2b2f36;color:#eef1f5}
.flow-edge-menu button[data-edge-menu-action="delete"]{color:#d99595}
.flow-edge-menu button[data-edge-menu-action="delete"]:hover{background:rgba(215,127,127,.10);color:#efaaaa}
.flow-edge-reconnecting,.flow-edge-reconnecting *{cursor:crosshair!important}
.flow-edge-reconnecting .flow-edge-menu{display:none!important}

@media(max-width:900px){.flow-builder{grid-template-columns:286px minmax(0,1fr)}.flow-builder.palette-collapsed{grid-template-columns:10px minmax(0,1fr)}}
@media(max-width:760px){.flow-builder{grid-template-columns:260px minmax(650px,1fr)}.flow-builder.palette-collapsed{grid-template-columns:10px minmax(650px,1fr)}.flow-floating-controls{top:10px;right:10px;gap:5px}.flow-save-state{display:none}}

/* Step 12 — compact Action setup wizard */
.action-wizard-form{display:flex;flex-direction:column;min-height:min(760px,88vh)}
.action-wizard-header{flex:0 0 auto}
.action-wizard-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:0 26px;border-bottom:1px solid var(--border);background:#1f2227;flex:0 0 auto}
.action-wizard-progress-item{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-height:54px;color:var(--muted);font-size:.76rem;font-weight:650}
.action-wizard-progress-item:after{content:"";position:absolute;left:50%;right:-50%;top:27px;height:1px;background:var(--border);z-index:0}.action-wizard-progress-item:last-child:after{display:none}
.action-wizard-progress-item span{position:relative;z-index:1;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#292c32;border:1px solid var(--border);font-size:.7rem}
.action-wizard-progress-item b{position:relative;z-index:1;background:#1f2227;padding-right:5px;font-weight:inherit}
.action-wizard-progress-item.active{color:var(--text)}.action-wizard-progress-item.active span{border-color:rgba(168,199,250,.55);box-shadow:0 0 0 3px rgba(168,199,250,.08);color:var(--blue)}
.action-wizard-progress-item.done{color:var(--blue)}.action-wizard-progress-item.done span{background:rgba(168,199,250,.12);border-color:rgba(168,199,250,.35)}
.action-wizard-content{flex:1 1 auto;min-height:0;overflow-y:auto;padding-top:20px}
.action-wizard-step{display:none;max-width:980px;margin:0 auto}.action-wizard-step.active{display:block}
.wizard-step-copy{margin:0 0 18px}.wizard-step-copy>span{display:block;color:var(--blue);font-size:.68rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase;margin-bottom:4px}.wizard-step-copy h3{font-size:1.08rem;margin:0 0 5px}.wizard-step-copy p{max-width:760px;margin:0;color:var(--muted);font-size:.79rem;line-height:1.5}
.wizard-toggle{margin-top:8px}.action-example-json{font-size:.78rem;line-height:1.52;min-height:180px}
.wizard-example-actions{display:flex;align-items:center;gap:12px;margin:-2px 0 18px}.wizard-example-actions .hint{margin:0}
.wizard-generated-builder{border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.014);padding:14px}.wizard-generated-builder .compact-head{margin:0 0 9px}
.wizard-advanced{margin-top:14px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.01)}.wizard-advanced>summary{cursor:pointer;padding:11px 13px;color:var(--muted);font-size:.76rem;font-weight:650}.wizard-advanced[open]>summary{border-bottom:1px solid var(--border);color:var(--text)}.wizard-advanced-body{padding:13px}
.wizard-auth-box{margin-top:8px}.wizard-summary-card{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--border);border-radius:11px;background:rgba(255,255,255,.016);margin-top:14px}.wizard-summary-card>span{width:42px;height:32px;border-radius:8px;display:grid;place-items:center;background:rgba(168,199,250,.1);color:var(--blue);font-size:.68rem;font-weight:800}.wizard-summary-card div{min-width:0}.wizard-summary-card b,.wizard-summary-card small{display:block}.wizard-summary-card small{margin-top:2px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:720px}
.action-wizard-footer{flex:0 0 auto}.wizard-footer-spacer{flex:1}.action-wizard-footer .hidden{display:none!important}
@media(max-width:760px){.action-wizard-progress{padding:0 12px}.action-wizard-progress-item b{display:none}.action-wizard-progress-item:after{left:60%;right:-40%}.wizard-summary-card small{max-width:65vw}}

/* Step 13 — streamlined Action wizard + read-only data presentation */
.action-wizard-progress{grid-template-columns:repeat(3,1fr)}
.wizard-enabled-toggle{align-self:end;min-height:42px;margin:0 0 1px}
.wizard-parse-status{min-height:1em;color:var(--muted);font-size:.7rem}
.wizard-response-variable-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.wizard-response-variable-row>.field{margin:0}.wizard-add-variable-btn{height:39px;white-space:nowrap;margin-bottom:1px}
.wizard-dedup-toggle{margin-top:14px}.auth-saved{margin:-1px 0 10px;color:#8e98a5;font-size:.68rem}
.wizard-submodal-backdrop{position:absolute;inset:0;z-index:30;display:grid;place-items:center;padding:22px;background:rgba(7,8,10,.72);backdrop-filter:blur(5px);border-radius:inherit}
.wizard-submodal{width:min(520px,100%);max-height:calc(100% - 18px);overflow:auto;background:#222429;border:1px solid rgba(255,255,255,.11);border-radius:13px;box-shadow:0 24px 70px rgba(0,0,0,.44)}
.wizard-submodal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 16px;border-bottom:1px solid var(--border);background:#1f2227}.wizard-submodal-head h3{margin:2px 0 0;font-size:.98rem}
.wizard-submodal-body{padding:16px}.wizard-submodal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:#1f2227}
.flow-node-present .flow-node-main{border-color:rgba(113,194,177,.20);background:linear-gradient(145deg,#293230,#292d30)}
.flow-node-present .flow-node-main:hover{border-color:rgba(126,213,193,.42);background:linear-gradient(145deg,#2d3936,#2d3134)}
.flow-node-present .flow-node-icon,.flow-palette-present .flow-palette-icon{background:rgba(108,203,181,.09);border-color:rgba(116,209,187,.24);color:#8ed7c5}
.flow-node-present .flow-node-copy small{color:#739d94}.flow-node-present .flow-node-copy b{color:#e8f2ef}.flow-node-present .flow-node-copy em{color:#8fa7a0}.flow-palette-present{border-color:rgba(116,209,187,.08)}
.present-info{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;padding:13px 14px;margin-bottom:16px;border:1px solid rgba(116,209,187,.12);border-radius:11px;background:rgba(116,209,187,.045)}
.present-info>span{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:rgba(116,209,187,.10);color:#91dec9;font-size:1rem}.present-info b{display:block;color:#e6f1ed;font-size:.78rem}.present-info p{margin:5px 0 0;color:#849b95;font-size:.7rem;line-height:1.5}
.variable-event-value strong{max-width:min(440px,55vw);white-space:nowrap;overflow:hidden;text-overflow:clip}
@media(max-width:760px){.wizard-response-variable-row{grid-template-columns:1fr}.wizard-add-variable-btn{justify-self:start}.action-wizard-progress{grid-template-columns:repeat(3,1fr)}}
/* Step 13 polish — nested wizard dialogs are anchored to their owning modal. */
.modal{position:relative}


/* Robot lifecycle + telephony trigger */
.robot-lifecycle-state{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.telephony-state{display:inline-flex;align-items:center;gap:6px;color:#7f8895;font-size:.63rem;font-weight:650;white-space:nowrap}.telephony-state i{width:6px;height:6px;border-radius:50%;background:#68717d}.telephony-state.on{color:#86caa8}.telephony-state.on i{background:#78c89b;box-shadow:0 0 0 3px rgba(120,200,155,.09)}.lifecycle-btn{white-space:nowrap}.lifecycle-btn.telephony-on{border-color:rgba(120,200,155,.25);color:#9bd7b7;background:rgba(120,200,155,.06)}.lifecycle-btn:disabled{opacity:.42;cursor:not-allowed}.lifecycle-readonly>span{display:block;margin-bottom:6px;color:#969eaa;font-size:.68rem}.lifecycle-readonly-value{min-height:39px;padding:8px 10px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:#23262b}.lifecycle-readonly-value b{display:block;color:#e6e9ee;font-size:.76rem}.lifecycle-readonly-value small{display:block;margin-top:3px;color:#7d8591;font-size:.62rem;line-height:1.35}
.call-trigger-info{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:start;padding:13px 14px;margin:2px 0 18px;border:1px solid rgba(111,164,245,.16);border-radius:11px;background:rgba(91,145,224,.045)}.call-trigger-info>span{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:rgba(91,145,224,.10);color:#93bef8}.call-trigger-info b{display:block;color:#e9edf5;font-size:.78rem}.call-trigger-info p{margin:5px 0 0;color:#8b94a3;font-size:.7rem;line-height:1.5}.call-trigger-route{display:flex;flex-direction:column;gap:5px;padding:11px 12px;border:1px dashed rgba(126,169,231,.16);border-radius:9px;background:rgba(255,255,255,.015)}.call-trigger-route b{font-size:.7rem;color:#aab8ca}.call-trigger-route span{font-size:.66rem;color:#778394}
.completion-combinator-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.completion-combinator-row>.field{margin:0}.completion-combinator-row>.btn{height:39px;margin-bottom:1px;white-space:nowrap}
.case-info{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:start;padding:13px 14px;margin:2px 0 18px;border:1px solid rgba(143,154,230,.15);border-radius:11px;background:rgba(143,154,230,.045)}.case-info>span{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:rgba(143,154,230,.10);color:#aeb8f3;font-size:.92rem}.case-info b{display:block;color:#e9ebf7;font-size:.78rem}.case-info p{margin:5px 0 0;color:#8e94b0;font-size:.7rem;line-height:1.5}
.case-branches-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:10px}.case-branches-head b{display:block;font-size:.86rem;color:#eef0f4}.case-branches-head small{display:block;margin-top:4px;color:#7f8792;font-size:.68rem}.case-branches-actions{display:flex;align-items:center;gap:8px}.case-count{min-width:42px;text-align:center;color:#8d95a2;font-size:.68rem;font-variant-numeric:tabular-nums}.case-branches{display:flex;flex-direction:column;gap:11px}.case-branch{position:relative;padding:13px 13px 12px 15px;border:1px solid rgba(255,255,255,.065);border-left:3px solid var(--case-color);border-radius:10px;background:#202328}.case-branch-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.case-branch-title{display:flex;align-items:center;gap:9px;min-width:0}.case-branch-title>div{min-width:0}.case-branch-title b{display:block;color:#edf0f5;font-size:.78rem}.case-branch-title small{display:block;margin-top:3px;color:#747d89;font-size:.64rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.case-branch-index{width:27px;height:27px;flex:0 0 27px;display:grid;place-items:center;border-radius:8px;border:1px solid color-mix(in srgb,var(--case-color) 42%,transparent);background:color-mix(in srgb,var(--case-color) 10%,transparent);color:var(--case-color);font-size:.68rem;font-weight:800}.case-branch-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end;margin-bottom:9px}.case-branch-controls>.field{margin:0}.case-branch-controls>.btn{height:36px;margin-bottom:0;white-space:nowrap}.case-branch .condition-rules{gap:7px}.case-branch button:disabled,.case-branches-head button:disabled{opacity:.38;cursor:not-allowed}
.flow-condition-line strong.case{color:#aeb8f3;background:rgba(143,154,230,.10)}
@media(max-width:980px){.robot-toolbar-actions{flex-wrap:wrap}.robot-lifecycle-state{align-items:flex-start}}
@media(max-width:760px){.completion-combinator-row{grid-template-columns:1fr}.completion-combinator-row>.btn{justify-self:start}.case-branches-head{align-items:flex-start;flex-direction:column}.case-branches-actions{width:100%;justify-content:space-between}.case-branch-head{align-items:flex-start}.case-branch-controls{grid-template-columns:1fr}.case-branch-controls>.btn{justify-self:start}}

.telephony-state.error{color:#e5b06b;border-color:rgba(229,176,107,.28);background:rgba(229,176,107,.08)}.telephony-state.error i{background:#e5b06b;box-shadow:0 0 0 3px rgba(229,176,107,.10)}

/* ============================================================
   Pause fillers · latency UX
   ============================================================ */
.pause-filler-main-toggle{margin-top:12px}.pause-filler-warning,.field-warning{margin-top:7px;padding:8px 10px;border:1px solid rgba(255,138,128,.22);border-radius:8px;background:rgba(255,138,128,.07);color:var(--red);font-size:.72rem;line-height:1.4}.field-warning{padding:7px 9px}
.pause-fillers-hero{padding:22px}.pause-fillers-hero-main{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.pause-fillers-hero .card-description{max-width:760px;margin-bottom:0}.pause-filler-status{min-width:265px;display:flex;align-items:flex-start;gap:10px;padding:11px 13px;border-radius:10px;border:1px solid var(--border);background:rgba(255,255,255,.02)}.pause-filler-status>i{width:8px;height:8px;margin-top:5px;border-radius:50%;background:#777;box-shadow:0 0 0 4px rgba(255,255,255,.025)}.pause-filler-status span{min-width:0}.pause-filler-status b{display:block;font-size:.78rem}.pause-filler-status small{display:block;margin-top:4px;color:var(--muted);font-size:.66rem;line-height:1.35;max-width:310px}.pause-filler-status.ready>i{background:var(--green)}.pause-filler-status.ready b{color:var(--green)}.pause-filler-status.stale>i{background:var(--yellow)}.pause-filler-status.stale b{color:var(--yellow)}.pause-filler-status.empty>i{background:var(--red)}.pause-filler-status.empty b{color:var(--red)}
.pause-filler-toggle{margin-bottom:16px}.pause-fillers-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.pause-fillers-settings-grid .field{margin:0}.pause-filler-list-head{margin-bottom:11px}.pause-filler-list{display:flex;flex-direction:column;gap:7px}.pause-filler-row{display:grid;grid-template-columns:30px minmax(180px,1fr) 92px 34px 34px;align-items:center;gap:8px;padding:8px;border:1px solid var(--border);border-radius:9px;background:rgba(255,255,255,.018);transition:border-color .14s ease,background .14s ease}.pause-filler-row:focus-within{border-color:rgba(168,199,250,.25);background:rgba(255,255,255,.025)}.pause-filler-check{height:34px;display:grid;place-items:center}.pause-filler-check input{width:15px;height:15px}.pause-filler-text{margin:0!important;padding:8px 10px!important}.pause-filler-file-state{display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;color:var(--muted);font-size:.66rem;white-space:nowrap}.pause-filler-file-state i{width:6px;height:6px;border-radius:50%;background:var(--yellow)}.pause-filler-row.generated .pause-filler-file-state i{background:var(--green)}.pause-filler-play{width:34px;height:34px;padding:0;display:grid;place-items:center;font-size:.75rem;color:var(--blue)}.pause-filler-play-spacer{width:34px}.pause-filler-empty{padding:26px;border:1px dashed var(--border);border-radius:9px;color:var(--muted);text-align:center;font-size:.78rem}.pause-filler-footer{display:flex;justify-content:flex-end;gap:9px;padding:4px 0 6px}.pause-filler-generation{margin-top:16px;padding:12px 13px;border:1px solid rgba(168,199,250,.16);border-radius:10px;background:rgba(168,199,250,.045)}.pause-filler-generation-head{display:flex;align-items:center;justify-content:space-between;font-size:.72rem}.pause-filler-generation-head span{display:flex;align-items:center;gap:7px;color:var(--blue);font-weight:650}.pause-filler-generation-head span i{width:7px;height:7px;border-radius:50%;background:var(--blue);animation:flowPulse 1s infinite}.pause-filler-generation-head b{font-size:.7rem;color:var(--muted)}.pause-filler-progress{height:5px;margin-top:10px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}.pause-filler-progress i{display:block;height:100%;border-radius:inherit;background:var(--blue);transition:width .25s ease}
@media(max-width:900px){.pause-fillers-hero-main{flex-direction:column}.pause-filler-status{width:100%;min-width:0}.pause-fillers-settings-grid{grid-template-columns:1fr}.pause-filler-row{grid-template-columns:30px minmax(130px,1fr) 78px 34px 34px}}
@media(max-width:620px){.pause-filler-row{grid-template-columns:28px minmax(120px,1fr) 34px 34px}.pause-filler-file-state{display:none}.pause-filler-footer{flex-direction:column}.pause-filler-footer .btn{width:100%}}

/* Pause filler generation console — intentionally inherits the browser test call visual language. */
.pause-filler-generation-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.pause-filler-generation-bottom .hint{margin:0}.pause-filler-console-modal{width:min(1240px,100%);height:min(780px,calc(100vh - 48px));overflow:hidden}.pause-filler-console-side{justify-content:flex-start}.pause-filler-console-icon{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;margin:24px 0 14px;background:radial-gradient(circle at 50% 45%,rgba(168,199,250,.12),rgba(255,255,255,.025) 62%);border:1px solid rgba(168,199,250,.12);color:var(--blue);font-size:40px;line-height:1}.pause-filler-console-progress-copy{margin-top:26px;font-size:1.35rem;font-weight:700;font-variant-numeric:tabular-nums}.pause-filler-console-current{width:100%;min-height:42px;margin-top:9px;color:var(--muted);font-size:.72rem;line-height:1.45;text-align:center;overflow-wrap:anywhere}.pause-filler-console-progress{width:100%;height:5px;margin-top:15px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}.pause-filler-console-progress i{display:block;width:0;height:100%;border-radius:inherit;background:var(--blue);transition:width .25s ease}.pause-filler-console-stream{position:relative}.pause-filler-console-empty{padding:8px 0;color:var(--muted);font-size:.78rem}.pause-filler-console-event.PF_INSTRUCTION{border-color:var(--yellow)}.pause-filler-console-event.PF_MODEL{border-color:var(--green)}.pause-filler-console-event.PF_AUDIO{border-color:var(--blue)}.pause-filler-console-event.PF_SYSTEM{border-color:#727982}.pause-filler-console-event.PF_INSTRUCTION .event-head b{color:var(--yellow)}.pause-filler-console-event.PF_MODEL .event-head b{color:var(--green)}.pause-filler-console-event.PF_AUDIO .event-head b{color:var(--blue)}.pause-filler-console-event.ERROR .event-head b{color:var(--red)}
@media(max-width:760px){.pause-filler-generation-bottom{align-items:flex-start;flex-direction:column}.pause-filler-generation-bottom .btn{width:100%}}

/* Scenario-local pause fillers (V9) */
.pause-filler-row{grid-template-columns:30px minmax(180px,1fr) minmax(86px,auto) 92px 34px 34px}
.pause-filler-usage{min-width:0;color:#7f8997;font-size:.63rem;white-space:nowrap;text-align:right}
.flow-palette-pause_filler .flow-palette-icon{border-color:rgba(167,194,255,.22);background:rgba(126,157,225,.08);color:#a9c5ff;font-size:1.15rem}
.flow-edge-filler-card{position:absolute;z-index:7;width:248px;min-height:60px;display:grid;grid-template-columns:36px minmax(0,1fr) 18px;align-items:center;gap:9px;padding:9px 10px;border:1px solid rgba(163,190,248,.20);border-radius:11px;background:rgba(34,37,44,.97);box-shadow:0 10px 26px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.025);cursor:grab;user-select:none;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,transform .14s ease}
.flow-edge-filler-card:hover,.flow-edge-filler-card:focus-visible{outline:none;border-color:rgba(169,197,255,.44);background:#272b32;box-shadow:0 12px 30px rgba(0,0,0,.34),0 0 0 2px rgba(145,180,246,.05)}
.flow-edge-filler-card.dragging{cursor:grabbing;transform:scale(1.015);box-shadow:0 16px 34px rgba(0,0,0,.42)}
.flow-edge-filler-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(169,197,255,.20);border-radius:9px;background:rgba(169,197,255,.075);color:#aac6ff;font-size:1.15rem;font-weight:700}
.flow-edge-filler-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.flow-edge-filler-copy small{color:#7f8fa9;font-size:.53rem;font-weight:760;letter-spacing:.065em;white-space:nowrap}.flow-edge-filler-copy b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e5e9f0;font-size:.69rem;font-weight:650}.flow-edge-filler-open{color:#77818e;font-size:1.05rem}
.flow-edge-filler-link{pointer-events:none}.flow-edge-filler-link path{fill:none;stroke:#7992bf;stroke-width:1.45;stroke-dasharray:4 4;vector-effect:non-scaling-stroke;opacity:.72}.flow-edge-filler-anchor{fill:#252a31;stroke:#a8c5ff;stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:all;cursor:pointer;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}.flow-edge-filler-anchor:hover{fill:#34425a;stroke:#c2d5ff}
.scenario-pause-filler-panel{margin-top:18px;padding:15px;border:1px solid rgba(169,197,255,.14);border-radius:11px;background:rgba(169,197,255,.035)}
.scenario-pause-filler-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}.scenario-pause-filler-head h3{margin:2px 0 4px;font-size:.86rem}.scenario-pause-filler-head p{max-width:650px;margin:0;color:var(--muted);font-size:.68rem;line-height:1.45}.scenario-pause-filler-always{flex:0 0 auto;padding:5px 8px;border:1px solid rgba(122,202,158,.20);border-radius:999px;background:rgba(122,202,158,.07);color:#91d4ae;font-size:.62rem;font-weight:750}
.scenario-pause-filler-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}.scenario-pause-filler-option{min-width:0;display:flex;align-items:center;gap:7px;padding:8px 9px;border:1px solid rgba(255,255,255,.065);border-radius:9px;background:rgba(255,255,255,.018);transition:border-color .14s ease,background .14s ease}.scenario-pause-filler-option:hover{border-color:rgba(169,197,255,.18);background:rgba(255,255,255,.025)}.scenario-pause-filler-option>label{min-width:0;flex:1;display:flex;align-items:center;gap:8px;cursor:pointer}.scenario-pause-filler-option input{flex:0 0 auto;width:15px;height:15px}.scenario-pause-filler-option label>span{min-width:0}.scenario-pause-filler-option b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e2e6ec;font-size:.7rem}.scenario-pause-filler-option small{display:block;margin-top:2px;color:#7e8794;font-size:.58rem}.scenario-pause-filler-option.ready small{color:#79aa8e}.scenario-pause-filler-option.stale small{color:#b99d69}.scenario-pause-filler-option>.icon-btn{flex:0 0 30px;width:30px;height:30px;color:#9ebcff}
.edge-filler-info,.call-config-locked{display:flex;align-items:flex-start;gap:12px;margin-bottom:15px;padding:12px 13px;border:1px solid rgba(169,197,255,.13);border-radius:10px;background:rgba(169,197,255,.035)}.edge-filler-info>span{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:9px;background:rgba(169,197,255,.08);color:#aac6ff;font-size:1.15rem}.edge-filler-info b,.call-config-locked b{display:block;color:#e5e8ed;font-size:.75rem}.edge-filler-info p{margin:4px 0 0;color:var(--muted);font-size:.67rem;line-height:1.45}.call-config-locked{display:block;border-color:rgba(226,178,103,.16);background:rgba(226,178,103,.045)}.call-config-locked b{color:#d7b27a}.call-config-locked span{display:block;margin-top:5px;color:#9a9185;font-size:.68rem;line-height:1.45}
@media(max-width:900px){.pause-filler-row{grid-template-columns:30px minmax(130px,1fr) minmax(72px,auto) 78px 34px 34px}.scenario-pause-filler-options{grid-template-columns:1fr}}
@media(max-width:620px){.pause-filler-row{grid-template-columns:28px minmax(120px,1fr) 34px 34px}.pause-filler-usage,.pause-filler-file-state{display:none}.flow-edge-filler-card{width:210px}.scenario-pause-filler-head{flex-direction:column;gap:8px}}

/* Pause filler decorator — circular, freely placeable, source-aware connection point. */
.flow-edge-filler-card{
  width:104px;height:104px;min-height:104px;padding:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  border-radius:50%;
  border:1px solid rgba(163,190,248,.26);
  background:radial-gradient(circle at 32% 24%,rgba(169,197,255,.10),transparent 38%),linear-gradient(145deg,#2a2e35,#24272d);
  box-shadow:0 12px 28px rgba(0,0,0,.30),inset 0 1px rgba(255,255,255,.035);
  overflow:visible;cursor:grab;user-select:none;
  transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,transform .14s ease;
}
.flow-edge-filler-card:hover,.flow-edge-filler-card:focus-visible{
  outline:none;border-color:rgba(169,197,255,.52);
  background:radial-gradient(circle at 32% 24%,rgba(169,197,255,.14),transparent 40%),linear-gradient(145deg,#303641,#292d34);
  box-shadow:0 14px 32px rgba(0,0,0,.36),0 0 0 3px rgba(145,180,246,.045);
}
.flow-edge-filler-card.dragging{cursor:grabbing;transform:scale(1.025);box-shadow:0 18px 38px rgba(0,0,0,.42)}
.flow-edge-filler-card.connecting{border-color:rgba(180,207,255,.68);box-shadow:0 16px 36px rgba(0,0,0,.40),0 0 0 4px rgba(157,189,255,.07)}
.flow-edge-filler-card.draft{border-style:dashed;border-color:rgba(163,190,248,.30);background:radial-gradient(circle at 32% 24%,rgba(169,197,255,.07),transparent 40%),#24272d}
.flow-edge-filler-glyph{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(169,197,255,.22);background:rgba(169,197,255,.07);color:#abc7ff;font-size:1.05rem;font-weight:760;line-height:1}
.flow-edge-filler-copy{width:76px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;pointer-events:none}
.flow-edge-filler-copy small{max-width:76px;color:#8292ad;font-size:.49rem;font-weight:780;letter-spacing:.07em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.flow-edge-filler-copy b{display:-webkit-box;max-width:78px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#e7ebf2;font-size:.62rem;line-height:1.22;font-weight:680;white-space:normal;text-overflow:ellipsis}
.flow-edge-filler-card.draft .flow-edge-filler-copy b{color:#919aa7;font-weight:620}
.flow-edge-filler-port{
  position:absolute;left:52px;top:0;width:13px;height:13px;transform:translate(-50%,-50%);
  border-radius:50%;background:#24272d;border:2px solid #9cadd0;z-index:10;cursor:crosshair;
  box-shadow:0 0 0 3px rgba(29,31,36,.88);
  transition:background .13s ease,border-color .13s ease,box-shadow .13s ease,transform .13s ease;
}
.flow-edge-filler-port:hover{background:#9cbcff;border-color:#d1e0ff;transform:translate(-50%,-50%) scale(1.18);box-shadow:0 0 0 3px rgba(29,31,36,.92),0 0 0 5px rgba(156,188,255,.08)}
.flow-edge-filler-link{pointer-events:none}.flow-edge-filler-link path{fill:none;stroke:#819bcb;stroke-width:1.5;stroke-dasharray:4 4;vector-effect:non-scaling-stroke;opacity:.78;stroke-linecap:round}
.flow-edge-filler-anchor{fill:#252a31;stroke:#a8c5ff;stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:all;cursor:pointer;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}
.flow-edge-filler-anchor:hover{fill:#34425a;stroke:#d0dfff}
.flow-edge-filler-preview{fill:none;stroke:#a9c5ff;stroke-width:1.7;stroke-dasharray:5 5;vector-effect:non-scaling-stroke;stroke-linecap:round;pointer-events:none}
.flow-edge-filler-preview.hidden{display:none}
@media(max-width:620px){.flow-edge-filler-copy{width:70px}}

/* Structured knowledge base workspace (V10) */
.editor-screen.knowledge-open{overflow:hidden}
.editor-screen.knowledge-open .workspace{height:100%;min-height:0;overflow:hidden}
.tab-panel.knowledge-mode{height:calc(100vh - 140px);min-height:520px;padding:0;overflow:hidden;background:#1b1d20}
.knowledge-editor{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;background:#1b1d20}
.knowledge-viewport{position:absolute;inset:0;overflow:hidden;cursor:grab;background-color:#1b1d20;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),radial-gradient(circle at 20% 0%,rgba(139,165,214,.035),transparent 38%);background-size:28px 28px,28px 28px,100% 100%;overscroll-behavior:none;touch-action:none}
.knowledge-viewport.dragging{cursor:grabbing;user-select:none}.knowledge-canvas{position:absolute;left:0;top:0;will-change:transform;transform:translate3d(24px,24px,0)}
.knowledge-columns{display:flex;align-items:flex-start;gap:22px;padding:34px;width:max-content}
.knowledge-column{width:270px;flex:0 0 270px;margin:0;padding:0;border:0;background:none;color:inherit;text-align:left}
.knowledge-section-header{width:100%;height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 15px;border:1px solid rgba(169,197,255,.14);border-radius:10px;background:linear-gradient(145deg,#292d34,#25282e);color:#e8ebef;box-shadow:0 7px 18px rgba(0,0,0,.17);cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .14s ease}
.knowledge-section-header:hover{border-color:rgba(169,197,255,.33);background:linear-gradient(145deg,#30353d,#292d34);transform:translateY(-1px)}.knowledge-section-header span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:720}.knowledge-section-header small{flex:0 0 auto;color:#8090a8;font-size:.58rem}
.knowledge-items{display:flex;flex-direction:column;gap:16px;margin-top:16px}
.knowledge-item-card{position:relative;width:100%;height:152px;overflow:hidden;padding:15px 15px 17px;text-align:left;border:1px solid rgba(255,255,255,.065);border-radius:11px;background:linear-gradient(155deg,#26292e,#222428);color:var(--text);cursor:pointer;box-shadow:0 9px 20px rgba(0,0,0,.15);transition:transform .14s ease,border-color .14s ease,background .14s ease}
.knowledge-item-card:hover{transform:translateY(-2px);border-color:rgba(169,197,255,.22);background:linear-gradient(155deg,#2b2f35,#25282d)}
.knowledge-item-title{display:block;margin-bottom:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:710;color:#e8ebf0}.knowledge-item-preview{display:block;white-space:pre-wrap;overflow:hidden;color:#a3a9b2;font-size:.66rem;line-height:1.48;max-height:88px}.knowledge-item-fade{position:absolute;left:0;right:0;bottom:0;height:54px;background:linear-gradient(180deg,rgba(34,36,40,0),#222428 78%);pointer-events:none}.knowledge-item-card:hover .knowledge-item-fade{background:linear-gradient(180deg,rgba(37,40,45,0),#25282d 78%)}
.knowledge-add-section,.knowledge-add-item{border:1px dashed rgba(169,197,255,.18);color:#78879f;background:rgba(169,197,255,.015);cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease}
.knowledge-add-section{height:64px;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:8px}.knowledge-add-section span{font-size:1.12rem}.knowledge-add-section b{font-size:.67rem;font-weight:630}
.knowledge-add-item{width:100%;height:152px;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.knowledge-add-item span{font-size:1.45rem;font-weight:300}.knowledge-add-item small{font-size:.62rem}
.knowledge-add-section:hover,.knowledge-add-item:hover{border-color:rgba(169,197,255,.42);background:rgba(169,197,255,.035);color:#a9c5f7}
.knowledge-floating-metrics{position:absolute;top:13px;right:14px;z-index:12;display:flex;align-items:center;gap:10px;min-height:46px;padding:7px 11px;border:1px solid rgba(255,255,255,.075);border-radius:9px;background:rgba(39,42,48,.88);box-shadow:0 5px 18px rgba(0,0,0,.16);backdrop-filter:blur(8px);pointer-events:none;font-variant-numeric:tabular-nums}
.knowledge-floating-metrics>span{display:flex;flex-direction:column;align-items:flex-end;min-width:58px;line-height:1.1}.knowledge-floating-metrics b{color:#dce4f2;font-size:.70rem;font-weight:720}.knowledge-floating-metrics small{margin-top:4px;color:#788290;font-size:.54rem}.knowledge-floating-metrics>i{width:1px;height:23px;background:rgba(255,255,255,.07)}
.knowledge-item-modal-content{padding-bottom:8px}.knowledge-content-input{min-height:390px;resize:vertical}.knowledge-content-counter{text-align:right;margin-top:5px;color:#6f7884;font-size:.62rem}.modal-footer-split{justify-content:space-between}.modal-footer-split>div{display:flex;gap:9px}
@media(max-width:900px){.knowledge-floating-metrics{top:10px;right:10px;gap:7px;padding:6px 9px}.knowledge-floating-metrics>span{min-width:50px}}
@media(max-width:760px){.editor-screen.knowledge-open{overflow:visible}.editor-screen.knowledge-open .workspace{height:auto;min-height:0;overflow:visible}.tab-panel.knowledge-mode{height:70vh;min-height:560px;padding:0;overflow:hidden}.knowledge-editor{height:100%;min-height:0}.knowledge-floating-metrics{right:8px;top:8px}.knowledge-floating-metrics small{display:none}.knowledge-floating-metrics>span{min-width:auto}.knowledge-floating-metrics>i{height:18px}}


/* Flow node · Audio file */
.flow-node-audio .flow-node-main{border-color:rgba(225,169,93,.20);background:linear-gradient(145deg,#332f29,#2d2d2d)}
.flow-node-audio .flow-node-main:hover{border-color:rgba(235,184,112,.44);background:linear-gradient(145deg,#39342c,#313030)}
.flow-node-audio .flow-node-icon,.flow-palette-audio .flow-palette-icon{background:rgba(225,169,93,.09);border-color:rgba(235,184,112,.25);color:#e5bc7d}
.flow-node-audio .flow-node-copy small{color:#a18766}.flow-node-audio .flow-node-copy b{color:#f1ece4}.flow-node-audio .flow-node-copy em{display:block;margin-top:2px;max-width:114px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#908577;font-size:.56rem;font-style:normal}.flow-palette-audio{border-color:rgba(225,169,93,.09)}
.flow-node-tts .flow-node-main{border-color:rgba(105,205,181,.22);background:linear-gradient(145deg,#293735,#2b3030)}
.flow-node-tts .flow-node-main:hover{border-color:rgba(126,222,199,.46);background:linear-gradient(145deg,#2d3f3c,#2e3534)}
.flow-node-tts .flow-node-icon,.flow-palette-tts .flow-palette-icon{background:rgba(105,205,181,.10);border-color:rgba(126,222,199,.27);color:#91dbc9}
.flow-node-tts .flow-node-copy small{color:#79aa9e}.flow-node-tts .flow-node-copy b{color:#e8f3f0}.flow-node-tts .flow-node-copy em{display:block;margin-top:2px;max-width:114px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#82928e;font-size:.56rem;font-style:normal}.flow-palette-tts{border-color:rgba(105,205,181,.09)}
.flow-node-llm-speech .flow-node-main{border-color:rgba(170,128,239,.26);background:linear-gradient(145deg,#332d40,#2c2d35)}
.flow-node-llm-speech .flow-node-main:hover{border-color:rgba(190,150,255,.5);background:linear-gradient(145deg,#3a324a,#31333d)}
.flow-node-llm-speech .flow-node-icon,.flow-palette-llm_speech .flow-palette-icon{background:rgba(170,128,239,.12);border-color:rgba(190,150,255,.3);color:#c7a5ff}
.flow-node-llm-speech .flow-node-copy small{color:#aa8ed0}.flow-node-llm-speech .flow-node-copy b{color:#f0e9fa}.flow-node-llm-speech .flow-node-copy em{display:block;margin-top:2px;max-width:114px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#948ba0;font-size:.56rem;font-style:normal}.flow-palette-llm_speech{border-color:rgba(170,128,239,.1)}
.flow-node-llm-session-open .flow-node-main{border-color:rgba(67,198,151,.3);background:linear-gradient(145deg,#263a35,#292f31)}
.flow-node-llm-session-open .flow-node-icon,.flow-palette-llm_session_open .flow-palette-icon{background:rgba(67,198,151,.13);border-color:rgba(67,198,151,.35);color:#70dbb4}
.flow-node-llm-session-close .flow-node-main{border-color:rgba(224,151,83,.28);background:linear-gradient(145deg,#3a3129,#302e2d)}
.flow-node-llm-session-close .flow-node-icon,.flow-palette-llm_session_close .flow-palette-icon{background:rgba(224,151,83,.13);border-color:rgba(224,151,83,.35);color:#efb77f}
.flow-node-llm-session-open .flow-node-copy em,.flow-node-llm-session-close .flow-node-copy em{display:block;margin-top:2px;max-width:114px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#948b86;font-size:.56rem;font-style:normal}
.flow-audio-file-panel{margin:2px 0 17px;padding:13px 14px;border:1px solid rgba(225,169,93,.13);border-radius:11px;background:linear-gradient(145deg,rgba(225,169,93,.045),rgba(255,255,255,.012))}
.flow-audio-file-info{display:grid;grid-template-columns:40px minmax(0,1fr);gap:11px;align-items:center}.flow-audio-file-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;border:1px solid rgba(225,169,93,.18);background:rgba(225,169,93,.08);color:#e1b677}.flow-audio-file-info b,.flow-audio-file-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-audio-file-info b{color:#ece7df;font-size:.78rem}.flow-audio-file-info small{margin-top:3px;color:#8f8578;font-size:.65rem}
.flow-audio-file-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:12px}.flow-audio-file-actions .file-picker{position:relative;overflow:hidden}.flow-audio-file-actions .file-picker input{position:absolute;inset:0;opacity:0;cursor:pointer}.flow-audio-preview-stop:disabled{opacity:.38;cursor:not-allowed}
.audio-exit-extra{margin-top:10px;padding:11px 12px;border:1px solid rgba(255,255,255,.055);border-radius:9px;background:rgba(255,255,255,.014)}.audio-exit-extra>.field{margin:0}.audio-exit-extra.hidden{display:none}

/* Streaming transcript: one live timeline card per speaker turn. */
.timeline-primary.TRANSCRIPT.transcript-live .event-message{position:relative}
.transcript-live-caret{display:inline-block;width:5px;height:1.05em;margin-left:4px;vertical-align:-.16em;border-radius:2px;background:currentColor;opacity:.58;animation:transcript-live-blink .9s steps(1,end) infinite}
@keyframes transcript-live-blink{0%,48%{opacity:.58}49%,100%{opacity:.08}}
@media (prefers-reduced-motion:reduce){.transcript-live-caret{animation:none;opacity:.32}}

/* Streaming ASR / deterministic speech-input nodes */
.flow-node-asr .flow-node-main{border-color:rgba(111,154,238,.24);background:linear-gradient(145deg,#292f3b,#2a2d33)}
.flow-node-asr .flow-node-main:hover{border-color:rgba(126,169,248,.48);background:linear-gradient(145deg,#2e3644,#2d3138)}
.flow-node-asr .flow-node-icon,.flow-palette-asr .flow-palette-icon{background:rgba(111,154,238,.10);border-color:rgba(126,169,248,.27);color:#92b5fb}
.flow-palette-asr{border-color:rgba(111,154,238,.10)}
.flow-node-input .flow-node-main{border-color:rgba(104,203,170,.22);background:linear-gradient(145deg,#283732,#292f2e)}
.flow-node-input .flow-node-main:hover{border-color:rgba(119,218,184,.46);background:linear-gradient(145deg,#2c3d37,#2c3432)}
.flow-node-input .flow-node-icon,.flow-palette-input .flow-palette-icon{background:rgba(104,203,170,.09);border-color:rgba(119,218,184,.26);color:#82d9bb}
.flow-palette-input{border-color:rgba(104,203,170,.09)}
.flow-node-asr .flow-node-copy small{color:#8398c3}.flow-node-input .flow-node-copy small{color:#78a997}
.flow-node-asr .flow-node-copy em,.flow-node-input .flow-node-copy em{display:block;margin-top:2px;max-width:114px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7d878d;font-size:.56rem;font-style:normal}
.asr-node-info svg{width:24px;height:24px}

/* Stabilization sub-tabs */
.stabilization-subtabs{display:inline-flex;gap:4px;padding:4px;margin:0 0 14px;border:1px solid var(--border);border-radius:11px;background:rgba(255,255,255,.018)}
.stabilization-subtab{min-width:92px;padding:8px 18px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-weight:700;cursor:pointer}
.stabilization-subtab:hover{color:var(--text);background:rgba(255,255,255,.035)}
.stabilization-subtab.active{color:var(--text);background:var(--panel);box-shadow:0 0 0 1px rgba(255,255,255,.055)}
.stabilization-subpanel{display:grid;gap:14px}.stabilization-compact-card{margin:0}.stabilization-compact-card .section-head{margin-bottom:4px}
.ivr-stabilization-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 22px}


.intent-definition-mode{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 11px;color:var(--muted);font-size:.79rem}.intent-definition-switch{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--border);border-radius:999px;background:rgba(0,0,0,.12)}.intent-definition-switch button{border:0;border-radius:999px;background:transparent;color:var(--muted);padding:6px 10px;cursor:pointer;font-size:.73rem;font-weight:650}.intent-definition-switch button.active{background:var(--surface2);color:var(--text)}.intent-definition-description-mode .speech-intent-examples,.intent-definition-description-mode .speech-intent-search,.intent-definition-description-mode .speech-intent-import{display:none}.intent-definition-description-mode .speech-intent-head{grid-template-columns:minmax(0,1fr) auto}.intent-definition-examples-mode .speech-intent-description{display:none}
/* Deterministic IVR speech-intent editor */
.speech-intent-editor{border:1px solid var(--border);border-radius:14px;padding:15px;background:rgba(255,255,255,.018)}
.speech-intent-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.speech-intent-title h3{margin:2px 0 0}
.speech-intent-list{display:grid;min-width:0;gap:12px}.speech-intent-card{min-width:0;max-width:100%;border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--panel)}
.speech-intent-head{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end}
.speech-intent-head .field{margin:0}.speech-intent-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;padding-bottom:1px;white-space:nowrap}
.speech-intent-description{display:grid;gap:6px;margin:11px 0 0}.speech-intent-description textarea{min-height:62px;resize:vertical;line-height:1.45}.speech-intent-description small{color:var(--muted);font-size:11px;line-height:1.4}.intent-definition-description-mode .speech-intent-description>span::after{content:' · обязательно';color:#a8c7fa;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.speech-intent-import{position:relative;overflow:hidden}.speech-intent-import input{position:absolute;inset:0;opacity:0;cursor:pointer}
.speech-intent-pattern-box{width:100%;min-width:0;max-width:100%;min-height:126px;max-height:520px;margin-top:11px;padding:10px;border:1px solid var(--border);border-radius:10px;background:rgba(0,0,0,.075);overflow-y:auto;overflow-x:hidden;resize:vertical}
.speech-intent-chips{display:flex;min-width:0;max-width:100%;align-content:flex-start;align-items:flex-start;flex-wrap:wrap;gap:7px}
.speech-intent-chip{display:inline-flex;min-width:0;max-width:100%;align-items:stretch;border:1px solid rgba(255,255,255,.085);border-radius:8px;background:rgba(255,255,255,.045);overflow:hidden}
.speech-intent-chip>span{min-width:0;max-width:100%;flex:1 1 auto;padding:6px 8px;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.35;font-size:12px}
.speech-intent-chip button{align-self:stretch;flex:0 0 27px;width:27px;border:0;border-left:1px solid rgba(255,255,255,.07);background:transparent;color:var(--muted);cursor:pointer}
.speech-intent-chip button:hover{color:var(--text);background:rgba(255,255,255,.06)}
.speech-intent-no-results{padding:10px;color:var(--muted);font-size:12px}.speech-intent-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:9px}
.speech-intent-empty{padding:13px;border:1px dashed var(--border);border-radius:10px;color:var(--muted)}
.speech-input-vars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:900px){.speech-intent-head{grid-template-columns:1fr 1fr}.speech-intent-actions{grid-column:1/-1}.ivr-stabilization-grid{grid-template-columns:1fr}}
@media(max-width:760px){.speech-input-vars,.speech-intent-head{grid-template-columns:1fr}.speech-intent-title{align-items:flex-start}.speech-intent-actions{grid-column:auto;flex-wrap:wrap}.speech-intent-add-row{grid-template-columns:1fr}.speech-intent-add-row .btn{justify-self:start}}

/* Deterministic ASR result in call timeline */
.asr-result-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.asr-result-line>span{min-width:0;flex:1 1 260px}
.asr-result-line>strong{font-size:11px;letter-spacing:.04em;padding:3px 7px;border-radius:999px;background:var(--panel-2,#20242b)}
.asr-result-line>small{opacity:.66;font-variant-numeric:tabular-nums}

/* Semantic intent classifier node */
.flow-node-intent .flow-node-main{border-color:rgba(184,137,245,.24);background:linear-gradient(145deg,#332d3c,#302d34)}
.flow-node-intent .flow-node-main:hover{border-color:rgba(199,154,255,.48);background:linear-gradient(145deg,#3a3246,#35303c)}
.flow-node-intent .flow-node-icon,.flow-palette-intent .flow-palette-icon{background:rgba(184,137,245,.10);border-color:rgba(199,154,255,.28);color:#c5a1f5}
.flow-palette-intent{border-color:rgba(184,137,245,.10)}
.flow-node-intent .flow-node-copy small{color:#a98ccc}
.flow-node-intent .flow-node-copy em{display:block;margin-top:2px;max-width:114px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#817989;font-size:.56rem;font-style:normal}

/* Global shell navigation. Kept deliberately in the existing header visual language. */
.top-header-left{display:flex;align-items:center;gap:12px;min-width:0}
.shell-back-btn{height:36px;min-width:88px;padding:0 12px;color:#c9ced6;background:#202329}
.shell-back-btn:hover{background:#292d34;color:#fff}
@media(max-width:900px){.shell-back-btn span{display:none}.shell-back-btn{min-width:36px;width:36px;padding:0}.top-header-left{gap:8px}}

/* LLM intent classifier editor */
.llm-intent-section{display:grid;gap:11px;margin-top:3px}
.llm-intent-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.llm-intent-section-head p{margin:5px 0 0;max-width:620px;color:var(--muted);font-size:.72rem;line-height:1.45}
.llm-intent-options{display:grid;gap:9px}
.llm-intent-option{display:grid;grid-template-columns:minmax(130px,.32fr) minmax(0,1fr) 34px;gap:10px;align-items:end;padding:11px;border:1px solid var(--border);border-radius:11px;background:rgba(255,255,255,.018)}
.llm-intent-option .field{margin:0}.llm-intent-option .field>span{display:block;margin-bottom:6px}
.llm-intent-option textarea{min-height:62px;resize:vertical;line-height:1.42}
.llm-intent-remove{margin-bottom:1px}
@media(max-width:760px){.llm-intent-section-head{align-items:flex-start;flex-direction:column}.llm-intent-option{grid-template-columns:1fr}.llm-intent-remove{justify-self:end}}

/* Outbound CRM campaign source node */
.flow-node-call .flow-node-copy em{display:block;margin-top:2px;max-width:114px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8190a5;font-size:.56rem;font-style:normal}
.flow-node-call-outbound .flow-node-main{border-color:rgba(104,190,164,.28);background:linear-gradient(145deg,#28383a,#283038)}
.flow-node-call-outbound .flow-node-main:hover{border-color:rgba(120,211,183,.50);background:linear-gradient(145deg,#2c4040,#2b363d)}
.flow-node-call-outbound .flow-node-icon{background:rgba(104,203,170,.10);border-color:rgba(119,218,184,.27);color:#83d8bb}
.flow-outbound-campaign{position:absolute;left:50%;bottom:calc(100% + 8px);z-index:7;display:flex;width:210px;transform:translateX(-50%);align-items:center;justify-content:center;gap:7px;pointer-events:none}
.flow-outbound-btn{width:30px;height:30px;min-width:30px;padding:0;border:1px solid rgba(128,211,187,.28);border-radius:50%;display:grid;place-items:center;background:#2d3b39;color:#9ed9c8;cursor:pointer;pointer-events:auto;box-shadow:0 5px 14px rgba(0,0,0,.20);transition:background .14s ease,border-color .14s ease,color .14s ease,transform .1s ease,box-shadow .14s ease,opacity .14s ease}
.flow-outbound-control-icon{width:14px;height:14px;display:block;fill:currentColor}.flow-outbound-play-icon{transform:translateX(1px)}
.flow-outbound-btn:not(:disabled):hover{transform:translateY(-1px) scale(1.04);border-color:rgba(128,211,187,.52);background:#315049;color:#d8f3eb;box-shadow:0 7px 18px rgba(0,0,0,.24)}.flow-outbound-btn:not(:disabled):active{transform:translateY(0) scale(.97)}.flow-outbound-btn:not(:disabled):focus-visible{outline:2px solid rgba(126,222,199,.55);outline-offset:2px}
.flow-outbound-btn:disabled{cursor:not-allowed;border-color:rgba(255,255,255,.10);background:#34383e;color:#8f969f;opacity:.48}.flow-outbound-btn.active{border-color:rgba(235,128,128,.40);background:#4a3033;color:#ffb7b7}.flow-outbound-btn.active:not(:disabled):hover{border-color:rgba(255,144,144,.60);background:#59363a;color:#ffd0d0}.flow-outbound-btn.stopping{opacity:.62}.flow-outbound-btn.starting{opacity:.68}
.flow-outbound-status{min-width:0;max-width:142px;padding:4px 7px;border:1px solid rgba(255,255,255,.075);border-radius:7px;background:rgba(31,34,39,.94);color:#858e99;font-size:.53rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 4px 12px rgba(0,0,0,.12)}

.outbound-call-panel{display:grid;gap:14px;margin:4px 0 15px;padding:16px;border:1px solid rgba(104,203,170,.15);border-radius:13px;background:rgba(104,203,170,.035)}
.outbound-call-head,.outbound-stop-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.outbound-call-head h3,.outbound-stop-head h3{margin:2px 0 0;font-size:.92rem}.outbound-call-head p,.outbound-stop-head p{margin:5px 0 0;max-width:650px;color:var(--muted);font-size:.7rem;line-height:1.45}
.outbound-source-count{flex:0 0 auto;margin-top:2px;padding:6px 9px;border:1px solid rgba(126,222,199,.22);border-radius:999px;background:rgba(104,203,170,.07);color:#9bd9c8;font-size:.68rem;font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap}
.outbound-source-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.outbound-source-grid>.field,.outbound-call-panel>.grid-2>.field{margin:0}
.outbound-phone-warning{padding:9px 11px;border:1px solid rgba(255,181,93,.23);border-radius:9px;background:rgba(255,181,93,.06);color:#ddb77f;font-size:.72rem;line-height:1.4}
.outbound-sip-pool{display:grid;gap:7px;margin-top:2px;padding:8px;border:1px solid rgba(255,255,255,.065);border-radius:10px;background:rgba(0,0,0,.08);max-height:236px;overflow:auto}
.outbound-sip-row{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 9px;border:1px solid rgba(255,255,255,.055);border-radius:8px;background:rgba(255,255,255,.018);cursor:pointer}.outbound-sip-row:hover{border-color:rgba(126,222,199,.18);background:rgba(104,203,170,.035)}.outbound-sip-row.disabled{cursor:default;opacity:.48}.outbound-sip-row input{accent-color:#72cfae}.outbound-sip-main{min-width:0;display:flex;flex-direction:column;gap:3px}.outbound-sip-main b,.outbound-sip-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outbound-sip-main b{font-size:.72rem}.outbound-sip-main small{color:#7f8995;font-size:.62rem}.outbound-sip-status{padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.045);color:#8a929d;font-size:.57rem;white-space:nowrap}.outbound-sip-status.registered{background:rgba(104,203,170,.09);color:#8dd8bd}
.outbound-line-capacity{display:flex;flex-wrap:wrap;gap:5px 10px;margin-top:7px;color:#85909d;font-size:.65rem;line-height:1.35}.outbound-line-capacity b{color:#bdc7d2}.outbound-line-capacity.invalid{color:#d59494}.outbound-line-capacity.invalid b{color:#e7aaaa}
.outbound-stop-panel{display:grid;gap:10px;padding-top:13px;border-top:1px solid rgba(255,255,255,.06)}.outbound-stop-head{align-items:center}.outbound-stop-head .btn{flex:0 0 auto}
.outbound-stop-combinator{max-width:440px;margin:0}.outbound-stop-list{display:grid;gap:8px}.outbound-stop-row{display:grid;grid-template-columns:minmax(160px,.85fr) minmax(170px,1fr) 105px 34px;gap:9px;align-items:end;padding:10px;border:1px solid rgba(255,255,255,.065);border-radius:10px;background:rgba(0,0,0,.08)}.outbound-stop-row .field{margin:0}.outbound-stop-row .field>span{display:block;margin-bottom:6px}.outbound-stop-remove{margin-bottom:1px}.outbound-stop-empty{padding:12px;border:1px dashed rgba(255,255,255,.08);border-radius:9px;color:#737c87;text-align:center;font-size:.7rem}
@media(max-width:760px){.outbound-source-grid,.outbound-stop-row{grid-template-columns:1fr}.outbound-call-head,.outbound-stop-head{flex-direction:column}.outbound-stop-remove{justify-self:end}.flow-outbound-campaign{width:196px}.flow-outbound-status{max-width:120px}}


/* Answer Gate / DTMF */
.flow-node-answer-gate{height:92px}
.flow-node-answer-gate .flow-node-main{border-color:rgba(91,193,174,.30);background:linear-gradient(145deg,#253331,#262d30)}
.flow-node-answer-gate .flow-node-main:hover{border-color:rgba(102,216,194,.52);background:linear-gradient(145deg,#293a37,#293236)}
.flow-node-answer-gate .flow-node-icon,.flow-palette-answer_gate .flow-palette-icon{background:rgba(80,195,172,.11);border-color:rgba(94,209,186,.27);color:#85dbc8}
.flow-node-dtmf .flow-node-main{border-color:rgba(194,159,229,.22);background:linear-gradient(145deg,#302b36,#292a31)}
.flow-node-dtmf .flow-node-icon,.flow-palette-dtmf .flow-palette-icon{background:rgba(184,143,226,.10);border-color:rgba(194,154,234,.26);color:#c3a5e7}
.flow-node-answer-gate .flow-port-human{top:22px;margin-top:-6.5px;border-color:#78c99c}.flow-node-answer-gate .flow-port-human em{color:#86d2a7}
.flow-node-answer-gate .flow-port-voicemail{top:46px;margin-top:-6.5px;border-color:#d6b168}.flow-node-answer-gate .flow-port-voicemail em{color:#dfbd7a}
.flow-node-answer-gate .flow-port-failed{top:70px;margin-top:-6.5px;border-color:#d68686}.flow-node-answer-gate .flow-port-failed em{color:#dd9797}
.answer-gate-route-help{display:flex;gap:8px;flex-wrap:wrap;margin:2px 0 4px}.answer-gate-route-help span{padding:5px 9px;border:1px solid rgba(255,255,255,.08);border-radius:999px;font-size:.67rem;font-weight:700}.answer-gate-route-help .human{color:#8fd7ae;background:rgba(100,195,137,.08)}.answer-gate-route-help .voicemail{color:#dfbd7a;background:rgba(214,177,104,.07)}.answer-gate-route-help .failed{color:#e09a9a;background:rgba(214,121,121,.07)}

/* Outbound campaign operator console */
.campaign-console-modal{width:min(1360px,100%);height:min(820px,calc(100vh - 40px))}
.campaign-console-grid{display:grid;grid-template-columns:350px minmax(0,1fr);flex:1;min-height:0;overflow:hidden}
.campaign-queue-pane{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.012),rgba(255,255,255,0))}
.campaign-queue-head{height:66px;flex:0 0 66px;padding:13px 16px 11px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border)}
.campaign-queue-head>div{min-width:0;display:flex;flex-direction:column;gap:4px}.campaign-queue-head b{font-size:.82rem}.campaign-queue-head small{max-width:245px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#858d98;font-size:.64rem}.campaign-queue-head>span{flex:0 0 auto;padding:4px 8px;border-radius:999px;background:#2c3035;color:#aeb7c3;font-size:.64rem;font-variant-numeric:tabular-nums}
.campaign-queue-viewport{position:relative;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:8px 10px;scrollbar-gutter:stable;overscroll-behavior:contain}
.campaign-queue-virtual{position:relative;width:100%;min-height:100%}
.campaign-queue-card{position:absolute;left:0;right:0;height:70px;width:100%;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid rgba(255,255,255,.065);border-radius:10px;background:#292c31;color:var(--text);text-align:left;cursor:pointer;transition:border-color .14s ease,background .14s ease,opacity .14s ease,box-shadow .14s ease;will-change:transform}
.campaign-queue-card:hover{background:#30343a;border-color:rgba(168,199,250,.18)}
.campaign-queue-card.processed{background:#242629;color:#8d939b;border-color:rgba(255,255,255,.035);opacity:.66}.campaign-queue-card.processed:hover{opacity:.88;background:#292b2f}
.campaign-queue-card.current{background:linear-gradient(135deg,#2b3935,#293231);border-color:rgba(112,220,169,.45);box-shadow:0 0 0 1px rgba(112,220,169,.06),0 8px 22px rgba(0,0,0,.18)}
.campaign-queue-card.selected{outline:1px solid rgba(168,199,250,.52);outline-offset:1px}.campaign-queue-card.current.selected{outline-color:rgba(119,232,177,.66)}
.campaign-card-index{width:26px;height:26px;display:grid;place-items:center;border-radius:7px;background:#34383e;color:#9199a4;font-size:.61rem;font-weight:700;font-variant-numeric:tabular-nums}.campaign-queue-card.current .campaign-card-index{background:rgba(112,220,169,.12);color:#9de2bd}.campaign-queue-card.processed .campaign-card-index{background:#2b2d30;color:#71777f}
.campaign-card-copy{min-width:0;display:flex;flex-direction:column;gap:5px}.campaign-card-copy b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:680}.campaign-card-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8c949f;font-size:.62rem}.campaign-queue-card.processed .campaign-card-copy small{color:#6e747c}
.campaign-card-live{padding:4px 7px;border-radius:999px;background:rgba(112,220,169,.10);color:#8fd6af;font-size:.55rem;font-weight:760;text-transform:uppercase;letter-spacing:.04em}
.campaign-console-controls{position:relative;height:118px;flex:0 0 118px;border-top:1px solid var(--border);display:grid;grid-template-columns:minmax(64px,1fr) 80px minmax(104px,1fr);align-items:center;padding:10px 14px;background:#202225}
.campaign-call-timer{justify-self:end;padding-right:10px;color:#d2d7dd;font-size:1.10rem;font-variant-numeric:tabular-nums;font-weight:630;letter-spacing:.03em}.campaign-main-control{display:flex;flex-direction:column;align-items:center;gap:6px}.campaign-main-control .call-control-btn{width:62px;height:62px;min-width:62px;min-height:62px}
.campaign-control-glyph{width:27px;height:27px;display:grid;place-items:center}.campaign-control-glyph svg{width:100%;height:100%;fill:currentColor;stroke:none}
.campaign-listen-btn{justify-self:start;margin-left:14px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.09);background:#2e3237;color:#969ea9;display:grid;place-items:center;cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease,box-shadow .14s ease,opacity .14s ease}.campaign-listen-btn svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.campaign-listen-btn:hover:not(:disabled){background:#383d43;color:#d9dfe6}.campaign-listen-btn.active{background:rgba(83,188,121,.14);border-color:rgba(100,218,145,.42);color:#7ee0a4;box-shadow:0 0 0 3px rgba(92,207,136,.05)}.campaign-listen-btn.waiting.active{animation:campaignListenPulse 1.3s ease-in-out infinite}.campaign-listen-btn:disabled{cursor:default;opacity:.33;box-shadow:none}
@keyframes campaignListenPulse{50%{opacity:.68}}
.campaign-log-pane .toolbar{min-height:47px}.campaign-log-caption{max-width:235px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#89929e;font-size:.66rem}.campaign-attempt-select{max-width:190px;height:28px;border:1px solid var(--border);border-radius:7px;background:#2b2e33;color:#cbd1d8;padding:0 8px;font-size:.66rem;outline:none}.campaign-log-pane .event-stream:empty::before{content:'Лог выбранного звонка появится здесь'}
.campaign-console-modal .call-control-btn.stop{background:linear-gradient(180deg,#cf5d5d 0%,#b74848 100%)}
@media(max-width:1000px){.campaign-console-grid{grid-template-columns:300px minmax(0,1fr)}.campaign-log-caption{display:none}}
@media(max-width:760px){.campaign-console-grid{grid-template-columns:1fr}.campaign-queue-pane{display:none}}

/* The canvas button is now a campaign-console launcher, not an inline Stop action. */
.flow-outbound-btn.active{border-color:rgba(128,211,187,.40);background:#315049;color:#c8f0e4}.flow-outbound-btn.active:not(:disabled):hover{border-color:rgba(128,211,187,.58);background:#365b52;color:#e3faf3}.flow-outbound-btn.stopping{border-color:rgba(255,209,128,.30);color:#e4c88e;opacity:.82}

/* Answer Gate operator-visible LLM/DTMF trace cards. These are intentionally never collapsed. */
.answer-gate-trace{border-left-color:#8ab4f8!important;background:linear-gradient(180deg,rgba(77,118,181,.10),rgba(39,43,49,.72))!important}
.answer-gate-trace.llm-response{border-left-color:#b39ddb!important;background:linear-gradient(180deg,rgba(111,82,164,.11),rgba(39,43,49,.72))!important}
.answer-gate-trace.dtmf-send{border-left-color:#71d89b!important;background:linear-gradient(180deg,rgba(53,132,84,.12),rgba(39,43,49,.72))!important}
.answer-gate-trace.dtmf-send.simulated{border-left-color:#e5b66b!important;background:linear-gradient(180deg,rgba(151,105,37,.10),rgba(39,43,49,.72))!important}
.answer-gate-trace-title{margin-top:7px;font-size:.80rem;font-weight:680;color:#e0e6ee}
.answer-gate-trace-section{margin-top:10px}.answer-gate-trace-section>label{display:block;margin-bottom:5px;color:#8f99a6;font-size:.62rem;font-weight:700;letter-spacing:.035em;text-transform:uppercase}
.answer-gate-trace-section>pre{margin:0;padding:10px 11px;border:1px solid rgba(255,255,255,.055);border-radius:8px;background:#17191c;color:#c8d0da;font:11px/1.52 "SFMono-Regular",Consolas,"Liberation Mono",monospace;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-height:none;overflow:visible}
.answer-gate-decision-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:9px}.answer-gate-decision-row>strong{padding:4px 8px;border-radius:999px;background:rgba(179,157,219,.12);color:#d2c0f1;font-size:.67rem;letter-spacing:.045em}.answer-gate-decision-row>code{padding:4px 8px;border-radius:7px;background:#17191c;color:#8ee6ad;font:700 13px/1.2 "SFMono-Regular",Consolas,monospace}.answer-gate-decision-row>small{color:#828b96;font-size:.62rem}
.answer-gate-reason{margin-top:8px;color:#b5bdc8;font-size:.72rem;line-height:1.45}
.answer-gate-dtmf-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px}.answer-gate-dtmf-line>span{color:#aab2bc;font-size:.72rem}.answer-gate-dtmf-line>strong{padding:7px 11px;border-radius:8px;background:#17191c;color:#88e3a9;font:800 16px/1 "SFMono-Regular",Consolas,monospace;letter-spacing:.08em}.answer-gate-trace.simulated .answer-gate-dtmf-line>strong{color:#f0c476}
.campaign-console-modal .call-control-btn.stop:disabled{opacity:1;filter:none;cursor:wait}

/* Operator DTMF controls: manual RFC4733/in-band signalling without affecting the call monitor. */
.campaign-right-controls{justify-self:start;margin-left:10px;display:flex;align-items:center;gap:8px}.campaign-right-controls .campaign-listen-btn{margin-left:0;justify-self:auto}
.campaign-dtmf-wrap{position:relative}.campaign-dtmf-btn svg{width:20px;height:20px}.campaign-dtmf-btn.active{background:rgba(138,180,248,.14);border-color:rgba(138,180,248,.42);color:#9bc2ff;box-shadow:0 0 0 3px rgba(138,180,248,.05)}
.campaign-dtmf-popover{position:absolute;right:-8px;bottom:54px;z-index:20;width:248px;padding:12px;border:1px solid rgba(255,255,255,.11);border-radius:12px;background:#202328;box-shadow:0 18px 44px rgba(0,0,0,.42);user-select:none}.campaign-dtmf-popover.hidden{display:none}
.campaign-dtmf-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.campaign-dtmf-head strong{font-size:.72rem;color:#d5dbe3}.campaign-dtmf-head select{height:28px;max-width:130px;border:1px solid var(--border);border-radius:7px;background:#2b2f34;color:#cbd2db;padding:0 6px;font-size:.61rem;outline:none}
.campaign-dtmf-sequence{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-bottom:9px}.campaign-dtmf-sequence .input{height:32px;min-width:0;font:700 13px/1 "SFMono-Regular",Consolas,monospace;letter-spacing:.06em}.campaign-dtmf-sequence .btn{height:32px}
.campaign-dtmf-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.campaign-dtmf-pad button{height:38px;border:1px solid rgba(255,255,255,.085);border-radius:8px;background:#2c3036;color:#d6dce4;font:700 14px/1 "SFMono-Regular",Consolas,monospace;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .06s ease}.campaign-dtmf-pad button:hover{background:#373c43;border-color:rgba(138,180,248,.26)}.campaign-dtmf-pad button:active{transform:translateY(1px);background:#3d434a}
#campaign-dtmf-status{display:block;min-height:15px;margin-top:8px;color:#7f8995;font-size:.58rem;line-height:1.3}#campaign-dtmf-status.error{color:#df8a8a}
.answer-gate-trace.dtmf-send.operator{border-left-color:#8ab4f8!important;background:linear-gradient(180deg,rgba(66,112,177,.12),rgba(39,43,49,.72))!important}.answer-gate-trace.dtmf-send.operator .answer-gate-dtmf-line>strong{color:#9bc2ff}

/* Answer Gate local IVR v1 */
.answer-gate-target-picker{display:grid;gap:10px;padding:14px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.018)}
.answer-gate-target-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.answer-gate-target-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.answer-gate-target-head>span{min-width:28px;text-align:center;padding:4px 8px;border:1px solid var(--border);border-radius:999px;font-size:12px}
.answer-gate-target-search-wrap{position:relative}.answer-gate-target-suggestions{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);max-height:260px;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 16px 40px rgba(0,0,0,.35)}
.answer-gate-target-suggestion{display:flex;width:100%;border:0;background:transparent;color:inherit;padding:9px 11px;text-align:left;flex-direction:column;gap:2px;cursor:pointer}.answer-gate-target-suggestion:hover,.answer-gate-target-suggestion.active{background:rgba(255,255,255,.06)}.answer-gate-target-suggestion small{color:var(--muted)}.answer-gate-target-suggestion-empty,.answer-gate-target-empty{padding:12px;color:var(--muted);font-size:12px}
.answer-gate-target-list{display:grid;gap:7px}.answer-gate-target-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px;border:1px solid var(--border);border-radius:9px;background:rgba(255,255,255,.025)}.answer-gate-target-priority{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.07);font-size:12px;font-weight:700}.answer-gate-target-row b,.answer-gate-target-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.answer-gate-target-row small{margin-top:2px;color:var(--muted);font-size:11px}.answer-gate-target-actions{display:flex;gap:3px}
.answer-gate-transcript-text{padding:12px;border:1px solid var(--border);border-radius:9px;line-height:1.5;white-space:pre-wrap}.answer-gate-route-list{display:grid;gap:7px;margin-top:10px}.answer-gate-route-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:9px 11px;border:1px solid var(--border);border-radius:9px}.answer-gate-route-row i{color:var(--muted);font-style:normal}.answer-gate-route-row strong{font-family:var(--mono,monospace);font-size:16px}.answer-gate-route-empty{padding:12px;color:var(--muted)}.answer-gate-decision-local{display:grid;gap:8px;margin-top:8px}.answer-gate-decision-local>div{display:flex;align-items:center;gap:9px}.answer-gate-decision-local code{font-size:16px}.answer-gate-decision-local small{color:var(--muted)}

.answer-gate-variables-panel{display:grid;gap:10px;padding:14px 0 0;border-top:1px solid rgba(255,255,255,.07)}.answer-gate-variables-panel h3{margin:0;font-size:.85rem;color:#e6e9ee}.answer-gate-variables-panel .field{margin:0}
.flow-node-funnel-stage .flow-node-main{border-color:rgba(143,124,222,.22);background:linear-gradient(145deg,#2d2a36,#292a31)}
.flow-node-funnel-stage .flow-node-main:hover{border-color:rgba(162,143,238,.44);background:linear-gradient(145deg,#332f40,#2d2d36)}
.flow-node-funnel-stage .flow-node-icon,.flow-palette-funnel_stage .flow-palette-icon{background:rgba(143,124,222,.10);border-color:rgba(162,143,238,.27);color:#b9a8f4}
.flow-palette-funnel_stage{border-color:rgba(143,124,222,.10)}

/* Global trigger: an out-of-band flow interrupt. No input port; one alternative output. */
.flow-node-global-trigger{height:168px;filter:drop-shadow(0 12px 22px rgba(0,0,0,.18))}
.flow-node-global-trigger .flow-node-main{position:relative;display:flex;align-items:center;justify-content:center;gap:0;padding:0 30px;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
.flow-node-global-trigger .flow-node-main:hover{border:0;background:transparent;box-shadow:none}
.flow-node-global-trigger.dragging .flow-node-main{border:0;transform:scale(1.015)}
.flow-node-global-trigger:focus-visible .flow-node-main{outline:0}
.flow-global-trigger-diamond{position:absolute;left:50%;top:50%;width:111px;height:111px;transform:translate(-50%,-50%) rotate(45deg);border:1px solid rgba(222,166,101,.34);border-radius:12px;background:linear-gradient(145deg,#35302b,#2d2b2d);box-shadow:0 9px 24px rgba(0,0,0,.24),inset 0 0 0 1px rgba(255,255,255,.018);transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}
.flow-node-global-trigger .flow-node-main:hover .flow-global-trigger-diamond{border-color:rgba(235,184,112,.62);background:linear-gradient(145deg,#3b342c,#322f31);box-shadow:0 10px 28px rgba(0,0,0,.28),0 0 0 1px rgba(235,184,112,.05)}
.flow-node-global-trigger:focus-visible .flow-global-trigger-diamond{outline:2px solid rgba(235,184,112,.55);outline-offset:4px}
.flow-global-trigger-copy{position:relative;z-index:2;display:flex;width:156px;min-width:0;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}
.flow-global-trigger-copy b{display:-webkit-box;max-width:156px;overflow:hidden;color:#f1ece6;font-size:.72rem;font-weight:720;line-height:1.22;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.flow-global-trigger-copy small{display:block;max-width:148px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#b39470;font:600 .52rem/1.2 "SFMono-Regular",Consolas,monospace}
.flow-node-global-trigger .flow-node-open{position:absolute;right:17px;z-index:3;color:#a68d71}
.flow-node-global-trigger .flow-port-out{right:13px;border-color:#deb071}
.flow-palette-global_trigger{border-color:rgba(222,176,113,.10)}
.flow-palette-global_trigger .flow-palette-icon{transform:rotate(45deg);border-radius:7px;background:rgba(222,176,113,.08);border-color:rgba(222,176,113,.27);color:#e1ba84}
.flow-palette-global_trigger .flow-palette-icon>*{transform:rotate(-45deg)}
.global-trigger-name-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.global-trigger-function-name{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:.78rem;color:#d8c39f!important;background:#24262b!important;cursor:default}
.global-trigger-priority-field{max-width:180px}
@media(max-width:700px){.global-trigger-name-grid{grid-template-columns:1fr}}

/* ============================================================
   Unified product palette · CRM funnel visual language everywhere
   2026-09-19
   ============================================================ */
:root{
  --bg:var(--v2-home);
  --panel:#22252a;
  --surface:#2a2d33;
  --surface2:#30343b;
  --modal:#22252a;
  --border:rgba(255,255,255,.07);
}

/* Robot workspace */
.editor-screen,.workspace,.tab-panel{background:var(--v2-home)}
.robot-toolbar{background:linear-gradient(180deg,var(--v2-header),var(--v2-home));border-bottom-color:rgba(255,255,255,.07)}
.robot-tabs{background:var(--v2-header);border-color:rgba(255,255,255,.055)}
.robot-tabs .tab:hover{background:#22252a}.robot-tabs .tab.active{background:#2a2d33}
.tab-panel:not(.scenario-mode){background:var(--v2-home)}
.tab-panel .card{background:#22252a;border-color:rgba(255,255,255,.07);box-shadow:0 10px 26px rgba(0,0,0,.10)}
.tab-panel .input,.tab-panel select.input,.tab-panel textarea.input{background:#2a2d33;border-color:rgba(255,255,255,.07)}
.tab-panel .input:focus,.tab-panel select.input:focus,.tab-panel textarea.input:focus{background:#30343b}
.tab-panel .toggle,.tab-panel .btn:not(.btn-primary):not(.btn-danger):not(.btn-test-robot){background:#2a2d33}
.tab-panel .btn:not(.btn-primary):not(.btn-danger):not(.btn-test-robot):hover{background:#30343b}

/* Common robot sub-surfaces */
.credential-card,.variable-card,.action-block,.dictionary-row,.scenario-step,.pause-filler-row,.scenario-pause-filler-option,.condition-rule,.condition-route-preview,.variables-help,.pause-filler-status,.pause-filler-generation,.scenario-pause-filler-panel{background:#2a2d33;border-color:rgba(255,255,255,.065)}
.variable-empty,.pause-filler-empty{background:rgba(42,45,51,.38)}
.stabilization-subtabs{background:var(--v2-header);border-color:rgba(255,255,255,.055)}
.stabilization-subtab:hover{background:#22252a}.stabilization-subtab.active{background:#2a2d33}
.knowledge-item-card{background:linear-gradient(155deg,#2a2d33,#22252a);border-color:rgba(255,255,255,.065)}
.knowledge-item-card:hover{background:linear-gradient(155deg,#30343b,#2a2d33)}
.knowledge-item-fade{background:linear-gradient(180deg,rgba(34,37,42,0),#22252a 78%)}
.knowledge-item-card:hover .knowledge-item-fade{background:linear-gradient(180deg,rgba(42,45,51,0),#2a2d33 78%)}

/* Scenario keeps its workspace behavior but uses the same palette family. */
.tab-panel.scenario-mode,.flow-builder,.flow-workspace{background:var(--v2-home)}
.flow-palette{background:linear-gradient(180deg,var(--v2-header),var(--v2-home));border-right-color:rgba(255,255,255,.07)}
.flow-toolbar{background:var(--v2-header);border-bottom-color:rgba(255,255,255,.06)}
.flow-viewport,.flow-canvas{background-color:var(--v2-home)}
.flow-canvas{background-image:radial-gradient(circle,rgba(180,190,205,.11) 1px,transparent 1.15px)}
.flow-palette-item{background:#22252a}.flow-palette-item:hover{background:#2a2d33}

/* One modal language for the whole product. */
.modal-backdrop{background:rgba(5,6,8,.66);backdrop-filter:blur(8px)}
.modal{background:#22252a;border-color:rgba(255,255,255,.10);box-shadow:0 30px 90px rgba(0,0,0,.62)}
.modal-header,.modal-footer{background:var(--v2-header);border-color:rgba(255,255,255,.065)}
.modal-content{background:#22252a}
.modal .input,.modal select.input,.modal textarea.input{background:#2a2d33;border:1px solid rgba(255,255,255,.07)}
.modal .input:focus,.modal select.input:focus,.modal textarea.input:focus{background:#30343b;border-color:rgba(143,181,255,.38);box-shadow:0 0 0 3px rgba(143,181,255,.05)}
.modal .btn:not(.btn-primary):not(.btn-danger){background:#2a2d33;border:1px solid rgba(255,255,255,.065)}
.modal .btn:not(.btn-primary):not(.btn-danger):hover{background:#30343b}
.modal .subtab{background:#2a2d33}.modal .subtab.active{background:#30343b}
.json-preview,.event pre{background:var(--v2-header)}

/* Non-standard popups follow the same surfaces too. */
.confirm-dialog,.wizard-submodal,.campaign-dtmf-popover{background:#22252a;border-color:rgba(255,255,255,.10)}
.wizard-submodal-head,.wizard-submodal-footer,.campaign-console-controls{background:var(--v2-header)}
.toast{background:#22252a;border-color:rgba(255,255,255,.08)}
.call-side{background:var(--v2-header)}
.call-main,.event-stream,.state-drawer{background:#22252a}
.toolbar{background:var(--v2-header)}

/* 2026-09-19 · Robot / CRM context toolbar separator
   Use the exact resting background of the primary header buttons (#202329)
   so the context toolbar clearly separates the dark global header from the workspace. */
.robot-toolbar,
#crm-workspace>.robot-toolbar.crm-toolbar{
  background:#202329;
  border-bottom-color:rgba(255,255,255,.075);
}

/* ============================================================
   Scenario multi-select + magnetic dynamic ports · 2026-09-19
   ============================================================ */
.flow-viewport{background-color:var(--v2-home)}
.tab-panel.knowledge-mode,.knowledge-editor,.knowledge-viewport{background-color:var(--v2-home)}

.flow-viewport.flow-selection-mode,
.flow-viewport.flow-selection-mode .flow-node-main,
.flow-viewport.flow-selection-mode .flow-edge-filler-card{cursor:crosshair!important}
.flow-selection-marquee{position:absolute;z-index:40;pointer-events:none;border:1px dashed rgba(157,189,255,.86);border-radius:10px;background:rgba(126,166,244,.075);box-shadow:0 0 0 1px rgba(126,166,244,.025),0 0 22px rgba(91,137,221,.07)}
.flow-selection-marquee.hidden{display:none}
.flow-node.flow-node-selected .flow-node-main{border-color:rgba(157,189,255,.62);box-shadow:0 0 0 2px rgba(132,173,248,.12),0 10px 26px rgba(0,0,0,.20)}
.flow-node.flow-node-selected .flow-node-icon{border-color:rgba(157,189,255,.40)}
.flow-node-global-trigger.flow-node-selected .flow-global-trigger-diamond{border-color:rgba(235,184,112,.78);box-shadow:0 0 0 2px rgba(235,184,112,.12),0 12px 30px rgba(0,0,0,.28)}
.flow-node.flow-node-selected.dragging .flow-node-main{box-shadow:0 0 0 2px rgba(157,189,255,.18),0 18px 34px rgba(0,0,0,.30)}

/* Port coordinates are applied by JS. Position changes intentionally have no transition:
   connectors snap between faces like magnetic anchors rather than sliding. */
.flow-port[data-port-side]{margin-top:0}
.flow-port[data-port-side="top"] em{right:auto;left:50%;top:14px;bottom:auto;transform:translateX(-50%)}
.flow-port[data-port-side="bottom"] em{right:auto;left:50%;top:auto;bottom:14px;transform:translateX(-50%)}
.flow-port[data-port-side="right"] em{right:13px;left:auto;top:50%;bottom:auto;transform:translateY(-50%)}

/* Unified async loading states and modal loading veil. */
.vrs-loading-state{display:flex;align-items:center;justify-content:center;gap:12px;min-height:140px;color:#9199a5;font-size:.76rem;font-weight:620;letter-spacing:.01em}
.vrs-spinner{position:relative;width:28px;height:28px;display:inline-block;flex:0 0 28px}
.vrs-spinner i{position:absolute;inset:0;border-radius:50%;border:2px solid transparent;border-top-color:#a9c6f8;animation:vrs-spin 1.05s cubic-bezier(.55,.18,.45,.82) infinite}
.vrs-spinner i:nth-child(2){inset:5px;border-top-color:#d5e2fa;animation-duration:.82s;animation-direction:reverse;opacity:.88}
.vrs-spinner i:nth-child(3){inset:10px;border-width:1.5px;border-top-color:#7898cc;animation-duration:1.35s;opacity:.72}
@keyframes vrs-spin{to{transform:rotate(360deg)}}
.surface-loading{grid-column:1/-1;min-height:52vh;border:1px solid rgba(255,255,255,.055);border-radius:16px;background:rgba(255,255,255,.012);display:grid;place-items:center}
.workspace-loading-shell{position:relative;min-height:calc(100vh - 125px);border-radius:16px;overflow:hidden;background:linear-gradient(145deg,#24272c,#202328);border:1px solid rgba(255,255,255,.06)}
.workspace-loading-shell:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.018),rgba(255,255,255,.055),rgba(255,255,255,.018));background-size:220% 100%;animation:vrs-skeleton 1.6s ease-in-out infinite;filter:blur(3px);opacity:.5}
.workspace-loading-shell>.vrs-loading-state{position:absolute;inset:0;min-height:0;z-index:2;color:#aeb6c2}
@keyframes vrs-skeleton{0%{background-position:100% 0}100%{background-position:-120% 0}}
.modal-loading-overlay{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:rgba(24,27,31,.36);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .18s ease}
.modal-loading-overlay .vrs-loading-state{min-height:0;padding:24px;color:#d8dde5;text-shadow:0 1px 10px rgba(0,0,0,.55)}
.modal.modal-is-loading{overflow:hidden}
.modal.modal-is-loading>.modal-loading-overlay{opacity:1;pointer-events:auto}
.modal.modal-is-loading>*:not(.modal-loading-overlay){filter:blur(3px);opacity:.42;pointer-events:none;transition:filter .18s ease,opacity .18s ease}
.modal:not(.modal-is-loading)>*:not(.modal-loading-overlay){transition:filter .18s ease,opacity .18s ease}
.modal-close-icon{flex:0 0 auto}
.flow-edge-filler-card.flow-filler-selected{border-color:rgba(157,189,255,.62);box-shadow:0 0 0 2px rgba(132,173,248,.12),0 12px 28px rgba(0,0,0,.24)}
.flow-edge-filler-card.flow-filler-selected.dragging{box-shadow:0 0 0 2px rgba(157,189,255,.18),0 18px 34px rgba(0,0,0,.30)}

/* Robot gallery operation-local pending state. Keep async duplicate/delete feedback
   inside the affected card instead of blocking or blurring the whole gallery. */
.robot-tile-content{width:100%;height:100%;display:flex;flex-direction:column}
.robot-tile-pending{cursor:wait;pointer-events:none;transform:none!important;border-color:rgba(143,181,255,.18)!important}
.robot-tile-pending .robot-tile-content{filter:blur(3px);opacity:.38;transition:filter .18s ease,opacity .18s ease}
.robot-tile-pending:before{opacity:.45}
.robot-tile-pending-overlay{position:absolute;inset:0;z-index:4;display:grid;place-items:center;background:rgba(25,28,33,.18);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}
.robot-tile-pending-overlay .vrs-loading-state{min-height:0;flex-direction:column;gap:9px;color:#cbd3df;font-size:.68rem;text-shadow:0 1px 8px rgba(0,0,0,.7)}
.robot-tile-pending-overlay .vrs-spinner{width:30px;height:30px;flex-basis:30px}

/* Inline gallery rename: same visual language for robots and CRM funnels. */
.robot-tile-copy b.inline-rename-active{
  width:100%;min-width:48px;max-width:100%;padding:3px 6px;margin:-3px -6px;
  white-space:normal;overflow:visible;text-overflow:clip;cursor:text;user-select:text;
  border-radius:6px;outline:1px solid rgba(143,181,255,.48);background:rgba(143,181,255,.08);
  box-shadow:0 0 0 3px rgba(143,181,255,.07);
}
.robot-tile-copy b.inline-rename-saving{opacity:.72;cursor:progress}

/* Runtime tables: universal JSON -> typed call-scoped dataset editor and timeline snapshot. */
.flow-node-table{border-color:rgba(98,202,177,.20)}
.flow-node-table .flow-node-icon{color:#8edcc8}
.flow-node-table .flow-node-copy small{display:block;margin-top:3px;color:#718b85;font-size:.58rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:116px}
.runtime-table-columns-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:8px 0 10px}.runtime-table-columns-head>div:first-child{display:flex;flex-direction:column;gap:4px}.runtime-table-columns-head small{color:#7e8793;max-width:650px}.runtime-table-columns-head>div:last-child{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.runtime-table-columns{display:flex;flex-direction:column;gap:10px}.runtime-table-column-row{border:1px solid rgba(255,255,255,.07);border-radius:11px;background:rgba(255,255,255,.018);padding:10px}.runtime-table-column-head{display:grid;grid-template-columns:minmax(150px,1.4fr) minmax(120px,.65fr) minmax(135px,.75fr) 34px;gap:8px;align-items:end}.runtime-table-column-head label{display:flex;flex-direction:column;gap:5px}.runtime-table-column-head label>span{font-size:.61rem;color:#818b97}.runtime-table-column-remove{width:34px;height:34px;color:#89919d}.runtime-table-column-remove:hover{color:var(--red)}
.runtime-table-source-path,.runtime-table-formula{margin-top:9px}.runtime-table-formula-hint{font-size:.62rem;color:#7e8793;line-height:1.45;margin-top:-2px}.runtime-table-formula-hint code{color:#a9c4d8}.runtime-table-formula-columns{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.runtime-table-column-chip{border:1px solid rgba(126,222,199,.16);background:rgba(126,222,199,.045);color:#9dd6c8;border-radius:999px;padding:4px 8px;font-size:.59rem;cursor:pointer}.runtime-table-column-chip:hover{background:rgba(126,222,199,.10)}
.runtime-table-timeline-toggle{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:10px 12px;border:1px solid rgba(255,255,255,.065);border-radius:10px;background:rgba(255,255,255,.018);cursor:pointer}.runtime-table-timeline-toggle input{margin-top:3px;accent-color:#72cfae}.runtime-table-timeline-toggle span{display:flex;flex-direction:column;gap:4px}.runtime-table-timeline-toggle b{font-size:.7rem}.runtime-table-timeline-toggle small{color:#7c8794;font-size:.61rem;line-height:1.4}
.runtime-table-infer-modal{width:min(820px,calc(100vw - 48px))}.runtime-table-infer-result{margin-top:12px}.runtime-table-infer-summary{display:flex;justify-content:space-between;gap:12px;padding:8px 0;color:#aeb9c5}.runtime-table-infer-summary span{color:#7f8995;font-size:.64rem}.runtime-table-infer-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:6px;max-height:240px;overflow:auto}.runtime-table-infer-fields span{display:flex;justify-content:space-between;gap:8px;padding:6px 8px;border:1px solid rgba(255,255,255,.055);border-radius:7px;background:rgba(255,255,255,.015)}.runtime-table-infer-fields b{font-size:.61rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.runtime-table-infer-fields small{font-size:.55rem;color:#719080}
.prompt-table-token{background:rgba(92,203,174,.10);color:#a7dfd0;border-radius:4px;padding:0 1px}
.runtime-table-event-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:4px 0 8px}.runtime-table-event-head strong{color:#bfe4da}.runtime-table-event-head span{font-size:.61rem;color:#7f8a96}.runtime-table-snapshot-wrap{max-width:100%;overflow:auto;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:rgba(0,0,0,.12)}.runtime-table-snapshot{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:.61rem}.runtime-table-snapshot th,.runtime-table-snapshot td{padding:6px 8px;border-right:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.045);max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.runtime-table-snapshot th{position:sticky;top:0;z-index:1;background:#252a30;color:#9fd7ca;text-align:left;font-weight:650}.runtime-table-snapshot tr:last-child td{border-bottom:0}.runtime-table-truncated{margin-top:6px;color:#7f8995;font-size:.58rem}
@media(max-width:900px){.runtime-table-column-head{grid-template-columns:1fr 1fr}.runtime-table-column-remove{grid-column:2;justify-self:end}.runtime-table-columns-head{align-items:stretch;flex-direction:column}}

/* Runtime table editor — compact spreadsheet layout. */
.runtime-table-columns-head{align-items:center;margin:4px 0 8px}.runtime-table-columns-head>div:first-child{display:block}.runtime-table-columns-head>div:last-child{gap:7px}
.runtime-table-editor-wrap{width:100%;overflow:hidden;border:1px solid rgba(255,255,255,.075);border-radius:9px;background:rgba(0,0,0,.08)}
.runtime-table-modal{width:min(1570px,calc(100vw - 48px))}
.runtime-table-editor-head,.runtime-table-column-row{display:grid;grid-template-columns:minmax(110px,1.05fr) minmax(92px,.61fr) minmax(110px,.82fr) minmax(92px,.61fr) minmax(260px,2.45fr) minmax(190px,2.25fr) 34px;gap:0;align-items:center;width:100%;min-width:0}
.runtime-table-editor-head{min-height:30px;background:rgba(255,255,255,.025);border-bottom:1px solid rgba(255,255,255,.075);color:#858e9a;font-family:"SFMono-Regular",Consolas,monospace;font-size:.62rem;text-transform:uppercase;letter-spacing:.025em}
.runtime-table-editor-head>span{min-width:0;padding:7px 8px;border-right:1px solid rgba(255,255,255,.055);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.runtime-table-editor-head>span:last-child{border-right:0}
.runtime-table-columns{display:block;min-width:0}.runtime-table-column-row{border:0;border-radius:0;background:transparent;padding:0;min-height:38px;border-bottom:1px solid rgba(255,255,255,.055)}.runtime-table-column-row:last-child{border-bottom:0}
.runtime-table-cell{min-width:0;padding:4px 5px;border-right:1px solid rgba(255,255,255,.045);overflow:hidden}
.runtime-table-cell .input{display:block;width:100%;max-width:100%;height:30px;min-height:30px;padding:5px 7px;border-radius:5px;font-family:"SFMono-Regular",Consolas,monospace;font-size:.72rem;white-space:nowrap;min-width:0}
.runtime-table-cell select.input{padding-right:22px;text-overflow:ellipsis}
.runtime-table-cell .input:disabled{opacity:.42;cursor:not-allowed;background:rgba(255,255,255,.025);border-color:transparent;color:#777f89}
.runtime-table-cell-formula .input{min-width:0;text-overflow:clip}
.runtime-table-cell-description{align-self:stretch;display:flex;align-items:center}.runtime-table-description-input{min-height:56px!important;height:56px!important;resize:vertical!important;line-height:1.3!important;white-space:normal!important;font-family:inherit!important;font-size:.67rem!important;padding-top:6px!important;padding-bottom:6px!important}
.runtime-table-column-remove{width:32px;height:32px;justify-self:center;align-self:center;color:#89919d;font-size:.9rem}
.runtime-table-formula-hint-global{margin:8px 2px 0;font-size:.62rem;line-height:1.45}.runtime-table-formula-hint-global code{font-family:"SFMono-Regular",Consolas,monospace}
.runtime-table-timeline-toggle.compact{display:inline-flex;align-items:center;gap:8px;margin:0 0 13px;padding:0;border:0;border-radius:0;background:transparent;color:var(--text);font-size:.72rem}.runtime-table-timeline-toggle.compact input{margin:0;accent-color:#72cfae}.runtime-table-timeline-toggle.compact span{display:inline;color:inherit}
@media(max-width:900px){.runtime-table-modal{width:calc(100vw - 24px)}.runtime-table-editor-wrap{overflow-x:auto}.runtime-table-editor-head,.runtime-table-column-row{grid-template-columns:minmax(100px,1.05fr) minmax(86px,.61fr) minmax(100px,.82fr) minmax(86px,.61fr) minmax(220px,2.45fr) minmax(160px,2.25fr) 30px;min-width:940px}.runtime-table-cell{padding-left:3px;padding-right:3px}.runtime-table-cell .input{padding-left:5px;padding-right:5px;font-size:.68rem}.runtime-table-column-remove{grid-column:auto;justify-self:center}.runtime-table-columns-head{align-items:stretch;flex-direction:column}}

/* Runtime table collapse-by picker: searchable column chips. */
.runtime-table-collapse{display:grid;gap:8px;margin:2px 0 12px;padding:10px 11px;border:1px solid rgba(255,255,255,.065);border-radius:9px;background:rgba(255,255,255,.015)}
.runtime-table-collapse-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.runtime-table-collapse-head b{font-size:.7rem;font-weight:650}
.runtime-table-collapse-search-wrap{position:relative}.runtime-table-collapse-search-wrap>.input{height:32px;min-height:32px;font-size:.7rem}
.runtime-table-collapse-suggestions{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:60;max-height:210px;overflow:auto;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:#202226;box-shadow:0 16px 36px rgba(0,0,0,.36)}
.runtime-table-collapse-suggestion{display:block;width:100%;border:0;background:transparent;color:#d8dde4;padding:8px 10px;text-align:left;font-family:"SFMono-Regular",Consolas,monospace;font-size:.68rem;cursor:pointer}.runtime-table-collapse-suggestion:hover,.runtime-table-collapse-suggestion.active{background:rgba(255,255,255,.065);color:#fff}.runtime-table-collapse-suggestion-empty{padding:9px 10px;color:#7f8894;font-size:.65rem}
.runtime-table-collapse-chips{display:flex;flex-wrap:wrap;gap:6px;min-height:0}.runtime-table-collapse-chips:empty{display:none}
.runtime-table-collapse-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:4px 5px 4px 8px;border:1px solid rgba(116,205,182,.18);border-radius:999px;background:rgba(116,205,182,.075);color:#afe0d2;font-family:"SFMono-Regular",Consolas,monospace;font-size:.64rem}.runtime-table-collapse-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.runtime-table-collapse-chip button{display:grid;place-items:center;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:transparent;color:#82978f;font-size:.68rem;cursor:pointer}.runtime-table-collapse-chip button:hover{background:rgba(255,255,255,.07);color:#fff}

/* Action timeline: resolved HTTP request first, response second, diagnostics afterwards. */
.action-http-details-body{display:grid;gap:10px;padding-top:8px}.action-http-trace{border:1px solid rgba(255,255,255,.065);border-radius:8px;background:rgba(0,0,0,.10);overflow:hidden}.action-http-trace-title{padding:7px 9px;border-bottom:1px solid rgba(255,255,255,.055);color:#92a1af;font-size:.6rem;font-weight:750;letter-spacing:.07em}.action-http-route{display:flex;align-items:flex-start;gap:8px;padding:9px}.action-http-route strong{flex:0 0 auto;color:#b9ddd4;font-family:"SFMono-Regular",Consolas,monospace;font-size:.67rem}.action-http-route code{min-width:0;overflow-wrap:anywhere;color:#d9dfe6;font-family:"SFMono-Regular",Consolas,monospace;font-size:.66rem;line-height:1.45}.action-http-trace-section{border-top:1px solid rgba(255,255,255,.045);padding:8px 9px}.action-http-trace-section label{display:block;margin-bottom:5px;color:#7f8a96;font-size:.58rem}.action-http-trace-section pre{max-height:360px;margin:0;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-family:"SFMono-Regular",Consolas,monospace;font-size:.62rem;line-height:1.45;color:#d5dbe2}.action-http-rest{margin-top:0}

/* Sandboxed visual-flow CODE node and editor. */
.flow-node-code{border-color:rgba(153,122,238,.22)}
.flow-node-code .flow-node-icon{color:#b9a5f4;font-family:"SFMono-Regular",Consolas,monospace;font-size:.72rem}
.flow-node-code .flow-node-copy small{display:block;margin-top:3px;color:#897fa5;font-size:.58rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:128px}
.code-variable-panel{display:grid;gap:9px;margin:2px 0 14px;padding:11px;border:1px solid rgba(255,255,255,.065);border-radius:10px;background:rgba(255,255,255,.015)}
.code-variable-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.code-variable-chips{display:flex;flex-wrap:wrap;gap:7px}
.code-variable-chip{display:inline-flex;align-items:stretch;border:1px solid rgba(175,147,243,.22);border-radius:8px;background:rgba(158,126,235,.075);overflow:hidden}
.code-variable-insert{display:flex;align-items:center;gap:7px;border:0;background:transparent;color:#d9d1ed;padding:6px 9px;cursor:pointer;font-family:"SFMono-Regular",Consolas,monospace}
.code-variable-insert:hover{background:rgba(255,255,255,.05)}
.code-variable-insert b{font-size:.67rem}.code-variable-insert small{font-size:.56rem;color:#8e85a4}
.code-variable-remove{width:27px;border:0;border-left:1px solid rgba(255,255,255,.06);background:transparent;color:#887f98;cursor:pointer}.code-variable-remove:hover{background:rgba(255,90,90,.07);color:#ff9b9b}
.code-source-field code,.code-variable-panel code{font-family:"SFMono-Regular",Consolas,monospace;color:#c3b2f3}
.code-editor-shell{display:grid;grid-template-columns:48px minmax(0,1fr);height:430px;min-height:260px;max-height:60vh;margin-top:6px;border:1px solid rgba(255,255,255,.085);border-radius:9px;overflow:hidden;background:#17191d;box-shadow:inset 0 1px 0 rgba(255,255,255,.018)}
.code-editor-lines{padding:12px 9px 24px 0;overflow:hidden;border-right:1px solid rgba(255,255,255,.055);background:#15171a;color:#555d68;text-align:right;white-space:pre;font:12px/1.62 "SFMono-Regular",Consolas,"Liberation Mono",monospace;user-select:none}
.code-editor-stage{position:relative;min-width:0;overflow:hidden}
.code-editor-highlight,.code-editor-input{position:absolute;inset:0;width:100%;height:100%;box-sizing:border-box;margin:0;padding:12px 14px 24px;border:0;outline:0;overflow:auto;white-space:pre;tab-size:2;font:12px/1.62 "SFMono-Regular",Consolas,"Liberation Mono",monospace}
.code-editor-highlight{pointer-events:none;background:transparent;color:#d5d9df}
.code-editor-input{z-index:2;resize:none;background:transparent;color:transparent;-webkit-text-fill-color:transparent;caret-color:#eef2f7;spellcheck:false}
.code-editor-input::selection{background:rgba(118,156,225,.28);-webkit-text-fill-color:transparent}
.js-comment{color:#68747f}.js-string{color:#b8d69c}.js-number{color:#d7b17c}.js-keyword{color:#bba3ef;font-weight:600}.js-vars{color:#79cdd0;font-weight:650}
@media(max-width:800px){.code-editor-shell{grid-template-columns:40px;height:360px}.code-editor-highlight,.code-editor-input{font-size:11px;padding-left:10px;padding-right:10px}.code-editor-lines{font-size:11px}}

/* CODE node modal: keep the editor scroll area physically separate from the action footer. */
#code-node-form{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  height:min(900px,calc(100vh - 48px));
  max-height:calc(100vh - 48px);
  min-height:0;
}
#code-node-form>.modal-header{
  position:relative;
  top:auto;
  z-index:4;
}
#code-node-form>.modal-content{
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
}
#code-node-form>.modal-footer{
  position:relative;
  bottom:auto;
  z-index:5;
  flex:0 0 auto;
  isolation:isolate;
  box-shadow:0 -10px 24px rgba(0,0,0,.16);
}
#code-node-form .code-editor-shell{
  position:relative;
  z-index:1;
}

/* Browser TEST-call recording controls. These live only in the left test-call pane and do not
   affect realtime voice transport. */
.test-recording-settings{width:100%;margin:2px 0 0;padding:11px 12px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(255,255,255,.025);display:flex;flex-direction:column;gap:9px}
.test-recording-toggle{display:flex;align-items:center;gap:8px;color:#d9dde4;font-size:.73rem;font-weight:650;cursor:pointer}.test-recording-toggle input{margin:0;accent-color:#8fb3ed}
.test-recording-quality{display:flex;flex-direction:column;gap:5px;width:100%}.test-recording-quality>span{color:#89929e;font-size:.64rem}.test-recording-quality .input{height:31px;min-height:31px;padding:4px 8px;font-size:.68rem;width:100%}
.test-recording-settings>small{color:#68717d;font-size:.59rem;line-height:1.35}
.test-recording-result{width:100%;margin-top:9px;padding:9px;border:1px solid rgba(126,198,149,.13);border-radius:10px;background:rgba(126,198,149,.045)}.test-recording-result.hidden{display:none}.test-recording-saving{color:#8e98a5;font-size:.66rem;text-align:center;padding:5px}.test-recording-ready-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.test-recording-ready-head b{font-size:.67rem;color:#cfe7d5}.test-recording-ready-head small{font-size:.58rem;color:#788390}.test-recording-result audio{display:block;width:100%;height:30px;margin-bottom:7px}.test-recording-download{width:100%;font-size:.64rem}
.call-recording-history-btn{color:#c7dfcf;border:1px solid rgba(126,198,149,.16);background:rgba(126,198,149,.05)}.call-recording-history-btn:hover{background:rgba(126,198,149,.1)}
.flow-history-row{grid-template-columns:10px minmax(0,1fr) auto 30px 30px}.flow-history-recording{color:#9fc9ad!important}.flow-history-detail-head{grid-template-columns:30px minmax(0,1fr) auto!important}.flow-history-detail-actions{display:flex;align-items:center;gap:2px}.flow-history-detail-actions .flow-history-download{display:grid;place-items:center}

/* Scoped runtime-table context. One visual node toggles OPEN/CLOSE from graph state. */
.flow-node-table-context{border-color:rgba(140,125,255,.28)}
.flow-node-table-context .flow-node-icon{color:#b6a9ff;font-size:.82rem;letter-spacing:-.08em}
.flow-node-table-context .flow-node-copy small{display:block;margin-top:3px;color:#8e86b8;font-size:.58rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:116px}
.flow-node-table-context.is-close{border-color:rgba(255,154,110,.25)}
.flow-node-table-context.is-close .flow-node-icon{color:#ffb28d}
.flow-node-table-context.is-close .flow-node-copy small{color:#a98270}
.flow-node-table-context.is-ambiguous{border-color:rgba(255,94,94,.55);box-shadow:0 0 0 1px rgba(255,94,94,.12) inset}
.table-context-role-card{border:1px solid rgba(140,125,255,.24);border-radius:12px;padding:14px 16px;background:rgba(140,125,255,.06);margin-bottom:14px}
.table-context-role-card.close{border-color:rgba(255,154,110,.22);background:rgba(255,154,110,.055)}
.table-context-role-card b{display:block;margin-bottom:6px}
.table-context-role-card p{margin:0;color:var(--muted);line-height:1.5}

/* Scenario-local pause filler authoring */
.local-fillers-global-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:14px;padding:20px 22px}
.local-fillers-global-card .card-description{max-width:760px;margin-bottom:0}.local-fillers-global-count{min-width:86px;display:flex;align-items:baseline;justify-content:center;gap:6px;padding:10px 12px;border:1px solid rgba(169,197,255,.14);border-radius:10px;background:rgba(169,197,255,.035)}.local-fillers-global-count b{font-size:1.25rem;color:#dce8ff;font-variant-numeric:tabular-nums}.local-fillers-global-count span{color:var(--muted);font-size:.67rem}
.local-pause-filler-editor{overflow:visible}.local-filler-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.local-filler-compose .input{min-width:0}.local-filler-chips{display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px;min-height:48px;margin-top:12px;padding:9px;border:1px dashed rgba(169,197,255,.15);border-radius:10px;background:rgba(0,0,0,.08)}.local-filler-chips:empty:after{content:'Добавьте фразу — она появится здесь отдельной плашкой';display:block;width:100%;padding:6px 4px;color:#747f8f;font-size:.66rem;text-align:center}
.local-filler-chip{position:relative;isolation:isolate;max-width:100%;display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:5px 6px 5px 8px;border:1px solid rgba(169,197,255,.15);border-radius:10px;background:#292d34;box-shadow:0 3px 9px rgba(0,0,0,.13);cursor:grab;user-select:none;transition:border-color .14s ease,background .14s ease,opacity .14s ease,transform .14s ease,box-shadow .14s ease}.local-filler-chip:hover{border-color:rgba(169,197,255,.30);background:#2d323a}.local-filler-chip.ready{border-color:rgba(118,200,153,.18)}.local-filler-chip.stale{border-color:rgba(222,175,96,.22)}.local-filler-chip.dragging{opacity:.26;cursor:grabbing}.local-filler-chip-grip{flex:0 0 auto;color:#667384;font-size:.82rem;cursor:grab}.local-filler-chip-text{min-width:0;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e5eaf1;font-size:.69rem;line-height:1.25}.local-filler-chip-actions{display:inline-flex;align-items:center;gap:2px;flex:0 0 auto}.local-filler-chip-actions .icon-btn{width:27px;height:27px;padding:0;border-radius:7px;color:#8ea2bd;font-size:.67rem}.local-filler-chip-actions .icon-btn:hover{color:#d9e7ff;background:rgba(169,197,255,.08)}.local-filler-chip-actions [data-local-filler-delete]:hover{color:#ff9c95;background:rgba(255,120,110,.07)}
.local-filler-chip.voicing{overflow:hidden;cursor:default;opacity:.82}.local-filler-chip.voicing:before{content:'';position:absolute;z-index:-1;inset:-70%;background:linear-gradient(105deg,transparent 34%,rgba(143,179,246,.06) 41%,rgba(188,213,255,.20) 50%,rgba(143,179,246,.06) 59%,transparent 66%);animation:local-filler-shimmer 1.05s linear infinite}.local-filler-chip.voicing .local-filler-chip-text,.local-filler-chip.voicing .local-filler-chip-grip{opacity:.67}@keyframes local-filler-shimmer{from{transform:translateX(-34%)}to{transform:translateX(34%)}}
.local-filler-drag-ghost{opacity:.92!important;cursor:grabbing!important;transform:none!important;box-shadow:0 16px 36px rgba(0,0,0,.38),0 0 0 1px rgba(169,197,255,.12)!important}.local-filler-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px}.local-filler-toolbar .hint{margin:0;text-align:right}.local-filler-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin-top:15px}.local-filler-settings-grid .field{margin:0}.local-filler-settings-grid .background-volume-field{align-self:end}
@media(max-width:900px){.local-fillers-global-card{grid-template-columns:1fr auto}.local-fillers-global-card>div:first-child{grid-column:1/-1}.local-filler-settings-grid{grid-template-columns:1fr}}
@media(max-width:620px){.local-fillers-global-card{grid-template-columns:1fr}.local-fillers-global-count{justify-content:flex-start}.local-fillers-global-card .btn{width:100%}.local-filler-compose{grid-template-columns:1fr}.local-filler-compose .btn{width:100%}.local-filler-toolbar{align-items:flex-start;flex-direction:column}.local-filler-toolbar .hint{text-align:left}.local-filler-chip{width:100%}.local-filler-chip-text{max-width:none;flex:1}.local-filler-chips{flex-direction:column;flex-wrap:nowrap}}

.local-filler-dirty-marker{display:none!important}
.ai-model-proxy-toggle{margin:2px 0 12px}.ai-model-proxy-toggle span small{display:block;color:var(--muted);font-size:.71rem;line-height:1.4;margin-top:4px}.ai-model-proxy-settings{margin:-2px 0 14px;padding:13px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.018)}.ai-model-proxy-settings .grid-3{grid-template-columns:.8fr 1.5fr .7fr}.ai-model-proxy-auth-toggle{margin:0 0 11px}
