:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1b2a29;background:#f3f6f5;font-size:16px;--green:#175940;--ink:#162e2a;--muted:#576b65;--line:#d9e2dd;--red:#ae3030;--amber:#956200;--radius:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid var(--line);background:white;border-radius:9px;padding:.7rem 1rem;color:var(--ink);min-height:44px;font-weight:600}button:hover{background:#eaf2ee}button:disabled{opacity:.55;cursor:wait}.primary{background:var(--green);border-color:var(--green);color:#fff}.primary:hover{background:#0e4330}.danger{color:var(--red)}.quiet{background:transparent;border-color:transparent}.small{padding:.45rem .7rem;font-size:.875rem}.skip{position:fixed;left:20px;top:-80px;z-index:20;background:white;padding:1rem}.skip:focus{top:10px}a{color:var(--green);text-underline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:2rem;letter-spacing:-.04em;margin-bottom:.4rem;font-weight:650}h2{font-size:1.15rem;letter-spacing:-.02em}h3{font-size:1rem}p{line-height:1.6;color:var(--muted)}.layout{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--ink);color:#fff;padding:2rem 1.2rem;display:flex;flex-direction:column;gap:2rem}.brand{display:flex;align-items:center;gap:.8rem;padding:0 .5rem}.brand img{width:38px}.brand strong{font-size:1.25rem;letter-spacing:.06em}.brand small{display:block;font-size:.7rem;letter-spacing:.13em;color:#b4c9c1;margin-bottom:3px}.sidebar nav{display:grid;gap:.35rem}.sidebar nav a{display:flex;align-items:center;gap:.8rem;color:#c2d2cc;text-decoration:none;padding:.8rem .9rem;border-radius:8px;font-size:.93rem}.sidebar nav a:hover,.sidebar nav a.active{background:#2c453e;color:#fff}.nav-icon{width:20px;text-align:center;font-size:1.05rem}.nav-label{padding:.3rem .9rem;font-size:.72rem;letter-spacing:.12em;color:#98b0a7;margin-top:1rem}.sidebar-foot{margin-top:auto;font-size:.875rem;color:#b9cec4;border-top:1px solid #385048;padding:1.2rem .6rem 0}.sidebar-foot strong{display:block;color:#fff;margin-bottom:.4rem}.workspace{min-width:0}.topbar{height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 2.5rem;gap:1rem}.topbar .trail{color:var(--muted);font-size:.875rem;display:flex;align-items:center;gap:.7rem}.topbar button{min-height:40px}.avatar{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e0ece5;color:var(--green);font-weight:700}.account{display:flex;align-items:center;gap:.7rem;font-size:.875rem}.main{max-width:1500px;padding:2.5rem;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem}.eyebrow{font-size:.72rem;letter-spacing:.13em;color:var(--green);font-weight:700;margin:0 0 .55rem}.sub{margin:0;font-size:.93rem}.toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:2rem}.stat{border:1px solid var(--line);background:#fff;padding:1.2rem 1.35rem;border-radius:var(--radius)}.stat span{display:block;font-size:.85rem;color:var(--muted)}.stat strong{font-size:2rem;display:block;margin:.65rem 0 .3rem;font-weight:600;letter-spacing:-.04em}.stat small{font-size:.78rem;color:var(--muted)}.grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:1.5rem}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem;gap:1rem}.panel-head h2{margin:0}.pill{font-size:.75rem;padding:.28rem .6rem;border-radius:99px;background:#edf3ef;color:var(--green);white-space:nowrap}.pill.red{color:#9c2424;background:#ffebea}.pill.amber{color:#7b5000;background:#fff1d6}.item{display:flex;width:100%;align-items:center;gap:1rem;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;padding:1.15rem .2rem;min-width:0}.item:last-child{border-bottom:0}.item-body{flex:1;min-width:0}.item strong{font-size:.95rem;display:block;overflow-wrap:anywhere}.item small{display:block;font-size:.8rem;color:var(--muted);font-weight:400;margin-top:.35rem}.item .action{font-size:.82rem;color:var(--green);white-space:nowrap}.dot{width:9px;height:9px;border-radius:50%;background:var(--green);flex:none}.dot.red{background:var(--red)}.dot.amber{background:var(--amber)}.empty{text-align:center;padding:2.6rem 1rem;color:var(--muted)}.empty strong{display:block;color:var(--ink);font-weight:600;margin-bottom:.5rem}.empty p{font-size:.9rem;margin:0}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.flow-card{display:flex;flex-direction:column;gap:1rem;text-align:left;align-items:flex-start;padding:1.4rem;border-radius:var(--radius);min-height:190px}.flow-card strong{font-size:1.07rem}.flow-card p{font-size:.85rem;font-weight:400;margin:0;flex:1}.flow-card footer{width:100%;display:flex;justify-content:space-between;align-items:center;font-size:.8rem;font-weight:400}.inbox{display:grid;grid-template-columns:320px minmax(0,1fr);gap:1rem}.inbox-list{max-height:72vh;overflow:auto}.conversation{display:flex;flex-direction:column;min-height:62vh}.messages{flex:1;max-height:52vh;overflow:auto;display:flex;flex-direction:column;gap:.8rem;padding:1rem 0}.message{padding:.85rem 1rem;background:#f1f5f2;max-width:82%;border-radius:12px;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}.message.out{align-self:flex-end;background:#deeee3}.message small{display:block;margin-top:.35rem;color:var(--muted);font-size:.72rem}.reply-form{display:flex;gap:.6rem;margin-top:1rem}.reply-form textarea{min-height:52px;flex:1;resize:vertical}.field{display:grid;gap:.45rem;margin-bottom:1rem;font-size:.88rem;font-weight:600}.field small{font-weight:400;color:var(--muted);line-height:1.5}.field input,.field select,.field textarea,input,select,textarea{border:1px solid #bdccc4;border-radius:8px;padding:.72rem;background:#fff;min-width:0;width:100%;color:var(--ink)}textarea{min-height:100px;line-height:1.5}.fields-two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.builder{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(0,1.15fr);gap:1.2rem}.canvas{background-color:#edf3ef;background-image:radial-gradient(#c7d4cd 1px,transparent 1px);background-size:16px 16px;min-height:500px;padding:1.5rem;border-radius:var(--radius)}.flow-node{position:relative;display:block;width:100%;max-width:410px;margin:0 auto 1.6rem;text-align:left;border:1px solid #becdc3;padding:1rem 1.15rem;background:white;box-shadow:0 2px 5px #183a2110}.flow-node.selected{outline:2px solid var(--green)}.flow-node small{color:var(--muted);display:block;margin-top:.3rem;font-size:.76rem;font-weight:400}.flow-node:not(:last-child):after{content:"";position:absolute;bottom:-1.65rem;left:50%;height:1.55rem;width:2px;background:#a6bbb0}.flow-node em{font-size:.73rem;font-style:normal;color:var(--green);display:block;margin-bottom:.3rem}.builder-form{align-self:start;position:sticky;top:20px}.builder-form h2{margin-bottom:1.4rem}.advanced{margin:1rem 0}.advanced summary{cursor:pointer;font-size:.85rem;color:var(--muted);padding:.5rem 0}.advanced textarea,.code{font-family:ui-monospace,monospace;font-size:.8rem}.code{background:#f2f5f3;padding:1rem;border-radius:8px;overflow:auto;max-height:360px;white-space:pre-wrap;word-break:break-word}.run-step{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:.8rem;padding:1rem 0;border-bottom:1px solid var(--line);align-items:start}.step-number{background:#e7eee9;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-size:.8rem}.notice{padding:1rem 1.2rem;background:#fff4dc;border:1px solid #e7d2a7;border-radius:10px;color:#765018;font-size:.9rem;line-height:1.6;margin-bottom:1.3rem}.notice.success{background:#edf6ef;border-color:#c4dcc9;color:#235635}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-brand{background:var(--ink);color:#fff;padding:4rem 12%;display:flex;flex-direction:column;justify-content:center}.login-brand h1{font-size:3.5rem;line-height:1.08;max-width:450px;margin-top:4rem}.login-brand p{color:#bfcec7;max-width:400px}.login-box{display:grid;align-content:center;justify-content:center;padding:2rem}.login-box form{width:min(360px,80vw)}.login-box h2{font-size:1.65rem;margin-bottom:.6rem}.login-box .primary{width:100%;margin-top:.5rem}.form-error{color:var(--red);font-size:.9rem;line-height:1.5}.loading{padding:4rem;text-align:center}#toast{position:fixed;bottom:24px;right:24px;max-width:400px;background:var(--ink);color:#fff;padding:1rem 1.4rem;border-radius:10px;z-index:100;box-shadow:0 5px 20px #0002;display:none}#toast.visible{display:block}dialog{border:1px solid var(--line);border-radius:16px;padding:1.7rem;width:min(620px,94vw);max-height:88vh;overflow:auto;color:var(--ink)}dialog::backdrop{background:#10241bc0}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.modal-head h2{margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.2rem}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.875rem}th,td{text-align:left;padding:1rem .7rem;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.muted{color:var(--muted)}.label{font-size:.8rem;color:var(--muted)}.mobile-menu{display:none}.chat-shell{max-width:620px;margin:3rem auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.5rem;min-height:70vh}.chat-shell h1{font-size:1.5rem}.chat-shell .messages{min-height:38vh}.hide{display:none!important}
@media(max-width:1100px){.layout{grid-template-columns:200px minmax(0,1fr)}.main{padding:1.5rem}.topbar{padding:0 1.5rem}.grid{grid-template-columns:1fr}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inbox{grid-template-columns:260px minmax(0,1fr)}}
@media(max-width:760px){.layout{display:block}.sidebar{position:fixed;z-index:40;left:0;top:0;width:250px;transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.mobile-menu{display:inline-block}.topbar{height:68px;padding:0 1rem}.topbar .trail span,.account .name{display:none}.main{padding:1.2rem}.page-head{align-items:flex-start;flex-wrap:wrap;margin-bottom:1.3rem}.page-head .toolbar{margin-left:auto}h1{font-size:1.75rem}.stats{grid-template-columns:1fr 1fr;gap:.65rem;margin-bottom:1.3rem}.stat{padding:1rem}.stat strong{font-size:1.65rem}.stat small{display:none}.panel{padding:1.1rem}.card-grid{grid-template-columns:1fr}.inbox{display:block}.inbox-list{max-height:30vh;margin-bottom:1rem}.builder{grid-template-columns:1fr}.builder-form{position:static}.canvas{min-height:300px}.fields-two{grid-template-columns:1fr;gap:0}.item .action{font-size:.75rem}.login-shell{display:block}.login-brand{padding:2rem}.login-brand h1{font-size:2rem;margin:1.5rem 0 1rem}.login-brand p{margin:0}.login-box{padding:2rem 1rem}.chat-shell{margin:0;border:0;border-radius:0;min-height:100vh}#toast{left:1rem;right:1rem;bottom:1rem;max-width:none}.account{gap:.3rem}.run-step{grid-template-columns:26px minmax(0,1fr)}.run-step>.pill{grid-column:2}.reply-form{flex-wrap:wrap}.reply-form button{margin-left:auto}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.form-shell{min-height:auto}.form-shell h1{margin-top:1.8rem}.form-shell form{margin-top:1.5rem}.form-shell form>.primary{width:100%;margin-top:1rem}.check-field{display:flex;align-items:flex-start;gap:.7rem;margin:1rem 0;font-size:.88rem;line-height:1.5}.check-field input{width:18px;min-width:18px;height:18px;margin-top:.1rem}.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-credit{text-align:center;margin-top:1.5rem}

/* Channel controls wrap on narrow screens; long provider references never widen panels. */
.panel-head{flex-wrap:wrap;gap:.5rem}.message{overflow-wrap:anywhere}.modal-head h2{overflow-wrap:anywhere}dialog input{max-width:100%;min-width:0}

/* Keep navigation and logout reachable at narrow workspace widths. */
.topbar{height:auto;min-height:78px;flex-wrap:wrap;padding-block:.5rem}
.topbar .trail{min-width:0;flex-wrap:wrap}
.account{min-width:0;max-width:100%;margin-left:auto;flex-wrap:wrap}
.account .name{min-width:0;overflow-wrap:anywhere}
.account .avatar,.account [data-action="logout"]{flex-shrink:0}
.panel,.grid>*{min-width:0}
.panel-head h2,.item-body{overflow-wrap:anywhere}
.modal-head{gap:1rem}
.modal-head h2{min-width:0}
.modal-head button{flex-shrink:0}
dialog .field{min-width:0}
dialog input,dialog select,dialog textarea{max-width:100%;min-width:0}
@media(max-width:1000px){.topbar .trail span{display:none}}
@media(max-width:760px){
  .topbar{min-height:68px;gap:.5rem}
  .topbar .trail{gap:.25rem}
  dialog{padding:1rem}
}
/* RC7: intrinsic select widths must not enlarge modal grid tracks. */
dialog{min-width:0;max-width:calc(100vw - 2rem);margin:auto}
#dialog-content,dialog form{min-width:0;max-width:100%;overflow-wrap:anywhere}
dialog .field{grid-template-columns:minmax(0,1fr)}
dialog select{width:100%;max-width:100%;min-width:0}
.modal-actions{flex-wrap:wrap}
.modal-actions button{max-width:100%;white-space:normal}

/* Attachment names and actions must fit the message at narrow widths. */
.message .attachments{min-width:0;max-width:100%;margin-top:.5rem;white-space:normal}
.message .attachments>div{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;min-width:0;max-width:100%;margin-top:.5rem}
.message .attachments .pill{flex:1 1 100%;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;border-radius:8px;line-height:1.5}
.message .attachments button,.message .attachments a{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.message .attachments .field{flex:1 1 100%;min-width:0;max-width:100%}
.message .attachments input{min-width:0;max-width:100%}
