:root{--acc-red: #eb1000;--acc-red-dim: #c40d00;--sidebar-bg: #1a1a1f;--sidebar-text: #e8e8ed;--sidebar-muted: #9a9aa8;--chat-bg: #f4f4f7;--surface: #ffffff;--border: #e2e2ea;--text: #1c1c24;--text-muted: #5c5c6f;--user-bubble: #2d5bff;--user-text: #fff;--assistant-bubble: #fff;--error-bg: #fff0f0;--error-border: #ffc9c9;--radius: 14px;--radius-sm: 10px;--font: "IBM Plex Sans KR", system-ui, sans-serif;--shadow: 0 2px 12px rgba(0, 0, 0, .06)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--text);background:var(--chat-bg);-webkit-font-smoothing:antialiased}button,input,textarea{font-family:inherit}.app-shell{display:grid;grid-template-columns:300px 1fr;height:100%;max-height:100dvh}.app-shell--embed{grid-template-columns:1fr}.embed-context-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.45rem 1rem;background:#1e1e26;color:#e8e8ed;border-bottom:1px solid #2a2a32;flex-shrink:0}.embed-context-bar__left{display:flex;align-items:center;gap:.5rem;min-width:0;flex:1}.embed-chip{display:inline-flex;align-items:center;gap:.35rem;min-width:0;max-width:min(240px,38vw);padding:.2rem .45rem;border-radius:5px;background:#252530;font-size:.78rem;line-height:1.3}.embed-chip--connected{background:#5ac88c14}.embed-chip--warn{background:#f0b4501a}.embed-chip--disconnected{background:#ff6b6b14}.embed-chip--pending{background:#2a2a32}.embed-chip--op{border-left:2px solid #5b8def}.embed-chip--wf{border-left:2px solid #7c6cf0}.embed-chip__k{flex-shrink:0;font-size:.62rem;font-weight:700;letter-spacing:.04em;color:#9a9aa8}.embed-chip__v{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,monospace;font-weight:600}.embed-chip__status{display:inline-flex;align-items:center;gap:.2rem;flex-shrink:0;margin-left:.15rem;padding-left:.35rem;border-left:1px solid #3a3a44;font-size:.6rem;font-weight:600;letter-spacing:.02em}.embed-chip__dot{width:6px;height:6px;border-radius:50%;background:#9a9aa8}.embed-chip__status--connected .embed-chip__dot{background:#7dd3a8}.embed-chip__status--connected{color:#7dd3a8}.embed-chip__status--warn .embed-chip__dot{background:#e8c468}.embed-chip__status--warn{color:#e8c468}.embed-chip__status--disconnected .embed-chip__dot{background:#ff6b6b}.embed-chip__status--disconnected{color:#ff8a8a}.embed-chip__status--pending .embed-chip__dot{background:#9a9aa8}.embed-chip__status--pending{color:#9a9aa8}.embed-link{flex-shrink:0;color:#555;font-size:.65rem;-webkit-user-select:none;user-select:none}.embed-link--partial{color:#e8c468}.embed-link--ok{color:#7dd3a8}.embed-context-bar__right{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.embed-context-bar__router{display:flex;align-items:center;gap:.4rem;margin:0}.embed-context-bar__router-label{font-size:.68rem;font-weight:600;color:#9a9aa8;white-space:nowrap}.embed-context-bar__select{min-width:9rem;max-width:14rem;padding:.3rem .45rem;border-radius:6px;border:1px solid #3a3a44;background:#121218;color:#e8e8ed;font-size:.75rem}.embed-context-bar__select:disabled{opacity:.55;cursor:not-allowed}.embed-context-bar__select:focus{outline:none;border-color:var(--acc-red)}.embed-context-bar__refresh{width:1.75rem;height:1.75rem;padding:0;border-radius:6px;border:1px solid #3a3a44;background:#252530;color:#c8c8d0;font-size:.95rem;line-height:1;cursor:pointer}.embed-context-bar__refresh:hover:not(:disabled){background:#2f2f3a;color:#fff}.embed-context-bar__refresh:disabled{opacity:.45;cursor:not-allowed}.sidebar{background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;justify-content:flex-start;padding:.85rem .75rem;gap:.85rem;border-right:1px solid #2a2a32;overflow-y:auto}.sidebar--rich .sidebar__brand{display:flex;align-items:center;gap:.65rem;padding-bottom:.65rem;margin-bottom:.15rem;border-bottom:1px solid #2a2a32}.sidebar__card-grid{display:flex;flex-direction:column;gap:.5rem}.sidebar__card{padding:.55rem .65rem;border-radius:8px;border:1px solid #33333d;background:#1e1e26}.sidebar__card--workflow{border-left:3px solid #7c6cf0}.sidebar__card--operation{border-left:3px solid #5b8def}.sidebar__card-head{display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin-bottom:.25rem}.sidebar__card-kind{font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--sidebar-muted)}.sidebar__card-label{margin:0;font-size:.68rem;color:var(--sidebar-muted)}.sidebar__card-value{margin:.15rem 0 0;font-family:ui-monospace,monospace;font-size:.8rem;font-weight:600;word-break:break-all;color:var(--sidebar-text)}.sidebar__card-id{margin:.2rem 0 0;font-size:.68rem;color:var(--sidebar-muted);font-family:ui-monospace,monospace}.sidebar__badge{display:inline-block;padding:.1rem .35rem;border-radius:4px;font-size:.58rem;font-weight:600;letter-spacing:.02em}.sidebar__badge--ok{background:#5ac88c26;color:#7dd3a8}.sidebar__badge--warn{background:#f0b4501f;color:#e8c468}.sidebar__badge--muted{background:#2a2a32;color:var(--sidebar-muted)}.sidebar__card .sidebar__bind-desc{margin:0 0 .45rem}.sidebar__field--tight{margin-bottom:.45rem}.sidebar__ghost-btn--card{margin-top:.5rem;width:100%;font-size:.68rem;padding:.3rem .45rem}.sidebar__card .sidebar__routing-error{margin:.45rem 0 0}.sidebar__link-btn--inline{font-size:.68rem;text-decoration:none;padding:.15rem .35rem;border-radius:4px}.sidebar__link-btn--inline:hover:not(:disabled){background:#2a2a32;text-decoration:none}.sidebar__ghost-btn--inline{margin-top:0;width:auto;padding:.35rem .55rem}.session-item__sub{display:block;font-size:.66rem;color:var(--sidebar-muted);margin-top:.1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-item__main .sidebar__badge{margin-top:.35rem}.session-list__head{align-items:flex-start}.session-list__hint{margin:.15rem 0 0;font-size:.65rem;line-height:1.35}.sidebar__panel{padding:.35rem .4rem;border-radius:6px;background:#1a1a20;border:1px solid #2a2a32}.sidebar__router-row{display:flex;gap:.25rem;align-items:center;margin-top:.35rem}.sidebar__router-row .sidebar__select{flex:1;min-width:0}.sidebar__select--dense,.sidebar__input--dense{padding:.22rem .35rem;font-size:.72rem;border-radius:4px}.sidebar__mini-btn{flex-shrink:0;padding:.22rem .45rem;font-size:.68rem;border-radius:4px;border:1px solid #3a3a44;background:#2a2a32;color:var(--sidebar-text);cursor:pointer}.sidebar__mini-btn:hover:not(:disabled){border-color:var(--acc-red)}.sidebar__mini-btn:disabled{opacity:.4;cursor:not-allowed}.sidebar__err{margin:.25rem 0 0;font-size:.62rem;line-height:1.3;color:#f5a8a8}.sidebar__brand{display:flex;align-items:center;gap:.75rem;padding-bottom:.5rem;border-bottom:1px solid #2a2a32}.sidebar__logo{width:42px;height:42px;border-radius:10px;background:var(--acc-red);color:#fff;font-weight:700;font-size:.85rem;display:grid;place-items:center;letter-spacing:-.02em}.sidebar__title{margin:0;font-size:1rem;font-weight:600;line-height:1.2}.sidebar__sub{margin:.15rem 0 0;font-size:.72rem;color:var(--sidebar-muted)}.sidebar__section h2{margin:0 0 .65rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--sidebar-muted)}.sidebar__ctx-list{margin:0;display:flex;flex-direction:column;gap:.15rem}.sidebar__ctx-row{display:grid;grid-template-columns:1.6rem 1fr;gap:.25rem;align-items:baseline}.sidebar__ctx-row dt{margin:0;color:var(--sidebar-muted);font-size:.62rem;font-weight:600}.sidebar__ctx-row dd{margin:0;color:var(--sidebar-text);font-family:ui-monospace,monospace;font-size:.68rem;word-break:break-all;line-height:1.25}.sidebar__row-head{display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin-bottom:.4rem}.sidebar__row-head h2{margin:0}.sidebar__details{margin-top:.55rem;font-size:.72rem}.sidebar__details summary{cursor:pointer;color:var(--sidebar-muted);-webkit-user-select:none;user-select:none}.sidebar__details summary:hover{color:var(--sidebar-text)}.sidebar__details-body{display:flex;flex-direction:column;gap:.45rem;margin-top:.45rem;padding-top:.45rem;border-top:1px solid #2a2a32}.sidebar__connect-form{display:flex;flex-direction:column;gap:.45rem}.sidebar__connect-form .sidebar__input,.sidebar__connect-form .sidebar__select{width:100%}.sidebar__connect-form .sidebar__bind-btn{margin-top:0}.sidebar__input--wide,.sidebar__select--wide{width:100%;font-size:.82rem;padding:.5rem .6rem}.sidebar__link-btn--card{display:block;width:100%;margin-top:.35rem;font-size:.68rem;text-align:center;padding:.25rem;border-radius:4px}.sidebar__link-btn--card:hover:not(:disabled){background:#2a2a32;text-decoration:none}.sidebar__inline{display:flex;gap:.35rem;align-items:stretch}.sidebar__inline .sidebar__input{flex:1;min-width:0}.sidebar__bind-btn--compact{margin-top:0;width:auto;flex-shrink:0;padding:.4rem .65rem}.sidebar__icon-btn{padding:.15rem .4rem;border:none;border-radius:4px;background:transparent;color:var(--sidebar-muted);cursor:pointer;font-size:1rem;line-height:1}.sidebar__icon-btn:hover:not(:disabled){color:var(--sidebar-text);background:#2a2a32}.sidebar__icon-btn:disabled{opacity:.4;cursor:not-allowed}.sidebar__link-btn{padding:0;border:none;background:none;color:var(--sidebar-muted);font-size:.72rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.sidebar__link-btn:hover{color:var(--sidebar-text)}.sidebar__foot--actions{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;margin-top:auto;padding-top:.65rem;border-top:1px solid #2a2a32}.checkbox--compact{font-size:.72rem;margin:0}.sidebar__operation{padding-bottom:.25rem;border-bottom:1px solid #2a2a32}.sidebar__storage-section{padding-bottom:.35rem;border-bottom:1px solid #2a2a32}.sidebar__storage{margin:0 0 .75rem;padding:.65rem .7rem;border-radius:var(--radius-sm);border:1px solid #33333d;background:#22222a}.sidebar__storage--operation{border-left:3px solid #5b8def}.sidebar__storage--delivery{border-left:3px solid #e07a2f;margin-bottom:0}.sidebar__storage--xml{border-left:3px solid #7a5bd4;margin-top:.75rem;margin-bottom:0}.sidebar__storage-note-inline{color:var(--sidebar-muted);font-weight:400}.sidebar__storage-kind{margin:0 0 .35rem;font-size:.74rem;font-weight:600;color:var(--sidebar-text)}.sidebar__storage-desc{margin:0 0 .45rem;font-size:.68rem;line-height:1.45;color:var(--sidebar-muted)}.sidebar__storage-desc code,.sidebar__storage-note code{font-size:.66rem;color:#c8c8d4}.sidebar__storage-id{margin:0;font-size:.72rem;color:var(--sidebar-muted)}.sidebar__storage-value{font-family:ui-monospace,monospace;font-weight:600;color:var(--sidebar-text)}.sidebar__storage-note{margin:.25rem 0 0;font-size:.64rem;color:var(--sidebar-muted)}.sidebar__hint strong{color:var(--sidebar-text);font-weight:600}.sidebar__hint{margin:0 0 .65rem;font-size:.72rem;line-height:1.45;color:var(--sidebar-muted)}.sidebar__field{display:flex;flex-direction:column;gap:.35rem;font-size:.72rem;color:var(--sidebar-muted)}.sidebar__input{width:100%;box-sizing:border-box;padding:.45rem .55rem;border-radius:6px;border:1px solid #3a3a44;background:#121218;color:var(--sidebar-text);font-size:.85rem}.sidebar__input:read-only{opacity:.85;cursor:default}.sidebar__input:focus{outline:none;border-color:var(--acc-red)}.sidebar__operation-meta{margin:.45rem 0 0;font-size:.72rem;color:var(--sidebar-text);word-break:break-all}.sidebar__operation-locked{margin:.5rem 0 0;font-size:.7rem;color:#7dd3a8}.sidebar__bind-btn{margin-top:.5rem;width:100%;padding:.4rem .55rem;font-size:.75rem;border-radius:6px;border:1px solid #3a3a44;background:#2a2a32;color:var(--sidebar-text);cursor:pointer}.sidebar__bind-btn:hover:not(:disabled){border-color:var(--acc-red)}.sidebar__bind-btn:disabled{opacity:.45;cursor:not-allowed}.sidebar__select{width:100%;box-sizing:border-box;padding:.45rem .55rem;border-radius:6px;border:1px solid #3a3a44;background:#121218;color:var(--sidebar-text);font-size:.85rem}.sidebar__select:disabled{opacity:.55;cursor:not-allowed}.sidebar__select:focus{outline:none;border-color:var(--acc-red)}.sidebar__routing-id{font-size:.64rem;color:var(--sidebar-muted);font-family:ui-monospace,monospace}.sidebar__routing-error{margin:.45rem 0 0;font-size:.68rem;line-height:1.4;color:#f5a8a8}.sidebar__ghost-btn{margin-top:.45rem;width:100%;padding:.35rem .55rem;font-size:.72rem;border-radius:6px;border:1px dashed #4a4a56;background:transparent;color:var(--sidebar-muted);cursor:pointer}.sidebar__ghost-btn:hover{border-color:var(--acc-red);color:var(--sidebar-text)}.session-list{flex:1;min-height:0;display:flex;flex-direction:column}.session-list__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.session-list__head h2{margin:0}.session-list__hint{margin:0 0 .5rem;font-size:.75rem}.session-list__new{padding:.25rem .5rem;font-size:.72rem;border-radius:6px;border:1px solid #3a3a44;background:#2a2a32;color:var(--sidebar-text);cursor:pointer;white-space:nowrap}.session-list__new:hover:not(:disabled){border-color:var(--acc-red);color:#fff}.session-list__new--workflow{font-size:.68rem}.session-list__new:disabled{opacity:.45;cursor:not-allowed}.session-list__items{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:.4rem;max-height:280px}.session-item{display:flex;align-items:stretch;border-radius:var(--radius-sm);overflow:hidden;border:1px solid transparent}.session-item--active{border-color:var(--acc-red);background:#252530}.session-item__main{flex:1;min-width:0;text-align:left;padding:.5rem .55rem;border:none;background:transparent;color:var(--sidebar-text);cursor:pointer}.session-item__main:hover{background:#2a2a32}.session-item__title{display:block;font-size:.78rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-item__meta{display:block;font-size:.68rem;color:var(--sidebar-muted);margin-top:.15rem}.session-item__delete{flex-shrink:0;width:1.75rem;border:none;background:transparent;color:var(--sidebar-muted);font-size:1rem;cursor:pointer;opacity:0;transition:opacity .15s,color .15s}.session-item:hover .session-item__delete,.session-item--active .session-item__delete{opacity:1}.session-item__delete:hover{color:#ff6b6b}.meta-list{margin:0;display:flex;flex-direction:column;gap:.5rem}.meta-list div{display:grid;grid-template-columns:4.5rem 1fr;gap:.35rem;font-size:.8rem}.meta-list dt{color:var(--sidebar-muted)}.meta-list dd{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field{display:flex;flex-direction:column;gap:.35rem;font-size:.78rem;color:var(--sidebar-muted);margin-bottom:.75rem}.field input{padding:.5rem .65rem;border-radius:var(--radius-sm);border:1px solid #3a3a44;background:#121218;color:var(--sidebar-text);font-size:.82rem}.field input:focus{outline:2px solid var(--acc-red);outline-offset:1px}.checkbox{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--sidebar-text);cursor:pointer}.ghost-btn{padding:.55rem .75rem;border-radius:var(--radius-sm);border:1px solid #3a3a44;background:transparent;color:var(--sidebar-text);font-size:.82rem;cursor:pointer;transition:background .15s}.ghost-btn:hover{background:#2a2a32}.sidebar__foot{font-size:.68rem;color:var(--sidebar-muted);line-height:1.5;padding-top:.5rem;border-top:1px solid #2a2a32}.chat-main{display:flex;flex-direction:column;min-width:0;height:100%;min-height:0;overflow:hidden}.chat-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.chat-header{padding:1rem 1.5rem .75rem;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.chat-header--sticky{position:sticky;top:0;z-index:200;box-shadow:0 2px 8px #0000000a}.chat-header h2{margin:0;font-size:1.1rem;font-weight:600}.chat-header p{margin:.25rem 0 0;font-size:.82rem;color:var(--text-muted)}.chat-header__row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.view-tabs{display:flex;gap:.35rem;flex-shrink:0}.view-tab{padding:.4rem .85rem;border-radius:999px;border:1px solid var(--border);background:var(--chat-bg);font-size:.8rem;cursor:pointer;color:var(--text-muted)}.view-tab--active{background:var(--acc-red);border-color:var(--acc-red);color:#fff;font-weight:600}.logs-panel{flex:1;overflow-y:auto;padding:1rem 1.5rem 1.5rem;min-height:0}.logs-panel__toolbar{margin-bottom:.75rem}.logs-filters{margin-bottom:1rem;padding:.85rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.logs-filters__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.65rem .75rem}.logs-filters__search{grid-column:span 2}.logs-filters label{display:flex;flex-direction:column;gap:.25rem;font-size:.72rem;color:var(--text-muted)}.logs-filters input,.logs-filters select{padding:.35rem .5rem;border:1px solid var(--border);border-radius:6px;font-size:.8rem;background:#fff}.logs-filters__actions{display:flex;gap:.5rem;margin-top:.75rem}.logs-filters__apply,.logs-filters__reset{padding:.4rem .75rem;border-radius:6px;font-size:.78rem;cursor:pointer}.logs-filters__apply{border:1px solid var(--acc-red);background:var(--acc-red);color:#fff}.logs-filters__reset{border:1px solid var(--border);background:var(--surface)}.logs-pagination{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:.75rem 0 1rem;flex-wrap:wrap}.logs-pagination__info{font-size:.8rem;color:var(--text-muted)}.logs-pagination__buttons{display:flex;gap:.35rem}.logs-pagination__buttons button{padding:.3rem .55rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);font-size:.75rem;cursor:pointer}.logs-pagination__buttons button:disabled{opacity:.45;cursor:not-allowed}.logs-item__client{font-size:.72rem;color:var(--acc-red);min-width:5.5rem;max-width:7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logs-item__provider{font-size:.72rem;color:var(--text-muted);min-width:4.5rem}.logs-item__meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.35rem .75rem;margin:0 0 .75rem;font-size:.75rem}.logs-item__meta dt{color:var(--text-muted);margin:0}.logs-item__meta dd{margin:0;word-break:break-all}.logs-panel__refresh{padding:.4rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);font-size:.8rem;cursor:pointer}.logs-panel__error{padding:.75rem 1rem;background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-sm);color:#a30d0d;font-size:.85rem;margin-bottom:1rem}.logs-panel__empty{color:var(--text-muted);font-size:.9rem}.logs-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.65rem;margin-bottom:1rem}.logs-stats__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.65rem .75rem;display:flex;flex-direction:column;gap:.2rem}.logs-stats__label{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.logs-stats__value{font-size:1rem;font-weight:600}.logs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.logs-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.logs-item__head{width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.65rem .85rem;border:none;background:transparent;text-align:left;cursor:pointer;font-size:.78rem}.logs-item__head:hover{background:#f8f8fc}.logs-item__idx{font-weight:700;color:var(--acc-red-dim);min-width:2rem}.logs-item__time{color:var(--text-muted);min-width:9rem}.logs-item__task{font-size:.72rem;color:var(--text-muted);max-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logs-item__model{font-weight:500}.logs-item__tokens{font-family:ui-monospace,monospace;color:var(--text-muted)}.logs-item__cost{font-family:ui-monospace,monospace}.logs-item__status{padding:.1rem .45rem;border-radius:4px;font-size:.68rem;text-transform:uppercase}.logs-item__status--success{background:#e8f5e9;color:#2e7d32}.logs-item__status--failed{background:#ffebee;color:#c62828}.logs-item__latency{color:var(--text-muted)}.logs-item__body{padding:0 .85rem .85rem;border-top:1px solid var(--border)}.logs-item__body h4{margin:.65rem 0 .35rem;font-size:.72rem;color:var(--text-muted);text-transform:uppercase}.logs-item__body pre{margin:0;padding:.65rem;background:#f0f0f5;border-radius:var(--radius-sm);font-size:.72rem;line-height:1.45;overflow-x:auto;max-height:320px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.logs-item__err{color:#c62828}.message-list{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem;min-height:0}.chat-starters{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:stretch;max-width:880px;margin:0 auto;padding:1rem 0 2rem;gap:1rem}.chat-starters__lead{margin:0;text-align:center;color:var(--text-muted, #64748b);font-size:.95rem}.chat-starters__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.85rem}.chat-starter-card{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;padding:1rem 1.1rem;border:1px solid var(--border, #e2e8f0);border-radius:12px;background:var(--surface, #fff);text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.chat-starter-card:hover:not(:disabled){border-color:var(--accent, #2563eb);box-shadow:0 4px 14px #2563eb1f;transform:translateY(-1px)}.chat-starter-card:disabled{opacity:.55;cursor:not-allowed}.chat-starter-card--campaign{border-left:3px solid #2563eb}.chat-starter-card--delivery{border-left:3px solid #059669}.chat-starter-card__badge{font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted, #64748b)}.chat-starter-card__title{font-size:1.02rem;font-weight:600;color:var(--text, #0f172a)}.chat-starter-card__desc{font-size:.86rem;line-height:1.45;color:var(--text-muted, #64748b)}.bubble{max-width:min(720px,88%);animation:fadeIn .25s ease}.bubble--user{align-self:flex-end}.bubble--assistant,.bubble--error{align-self:flex-start}.bubble__meta{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem;font-size:.72rem;color:var(--text-muted)}.bubble--user .bubble__meta{justify-content:flex-end}.bubble__body{padding:.85rem 1rem;border-radius:var(--radius);box-shadow:var(--shadow);font-size:.92rem;line-height:1.55}.bubble__body p{margin:0}.bubble__body p+p{margin-top:.45rem}.bubble--user .bubble__body{background:var(--user-bubble);color:var(--user-text);border-bottom-right-radius:4px}.bubble--assistant .bubble__body{background:var(--assistant-bubble);border:1px solid var(--border);border-bottom-left-radius:4px}.bubble-acc-context{margin-top:.75rem;padding:.65rem .75rem;border-radius:8px;background:#f4f8ff;border:1px solid #c8d8f0;font-size:.82rem}.bubble-acc-context__title{font-weight:600;color:#2a4a7a;margin-bottom:.45rem}.bubble-acc-context__list{margin:0}.bubble-acc-context__row{display:flex;gap:.5rem;align-items:baseline}.bubble-acc-context__row+.bubble-acc-context__row{margin-top:.25rem}.bubble-acc-context__row dt{min-width:9rem;margin:0;color:#5a6f8f}.bubble-acc-context__row dd{margin:0}.bubble-acc-context__row code{font-size:.8rem}.bubble-acc-context__id{color:#5a6f8f;font-size:.78rem}.bubble--progress{align-self:flex-start;max-width:min(520px,88%)}.bubble--progress .bubble__body{background:#f0f4ff;border:1px dashed #b8c4ff;color:#3d4f8f;font-size:.82rem;padding:.55rem .85rem}.bubble--progress .bubble__meta{color:#6b7ab8}.bubble--error .bubble__body{background:var(--error-bg);border:1px solid var(--error-border);color:#a30d0d}.bubble__error-badge{display:inline-block;margin-bottom:.5rem;padding:.15rem .5rem;border-radius:6px;background:#ffd4d4;color:#8b0000;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.bubble-errors{margin-top:.75rem;padding:.65rem .75rem;border-radius:var(--radius-sm);background:#ffffffa6;border:1px solid #ffb4b4}.bubble-errors__title,.bubble-hints__title{font-size:.72rem;font-weight:700;margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.04em}.bubble-errors__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.45rem}.bubble-errors__list li{font-size:.8rem;line-height:1.45}.bubble-errors__list p{margin:.2rem 0 0}.bubble-errors__meta{font-size:.72rem;opacity:.85}.bubble-hints{margin-top:.75rem;padding:.65rem .75rem;border-radius:var(--radius-sm);background:#fff8e6;border:1px solid #ffe08a;color:#6b4e00}.bubble-hints ul{margin:0;padding-left:1.1rem;font-size:.78rem;line-height:1.5}.tool-steps{margin-top:.5rem;font-size:.78rem;color:var(--text-muted)}.tool-steps summary{cursor:pointer;padding:.35rem 0;-webkit-user-select:none;user-select:none}.tool-steps__list{margin:.35rem 0 0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.65rem}.tool-steps__tool{font-weight:600;color:var(--acc-red-dim);font-size:.75rem;display:flex;align-items:center;gap:.4rem}.tool-steps__fail-badge{margin-left:.35rem;padding:.1rem .4rem;border-radius:4px;background:#ffebee;color:#c62828;font-size:.68rem;font-weight:700}.tool-steps__item--failed{border-left:3px solid #c62828;padding-left:.5rem}.tool-steps__fail-label{padding:.05rem .35rem;border-radius:4px;background:#ffcdd2;color:#b71c1c;font-size:.65rem;font-weight:700}.tool-steps__fail-msg{margin:.25rem 0 .35rem;font-size:.75rem;color:#c62828;font-weight:500}.tool-steps__code,.tool-steps__obs{margin:.35rem 0 0;padding:.5rem .65rem;background:#f0f0f5;border-radius:var(--radius-sm);overflow-x:auto;font-size:.7rem;line-height:1.45;max-height:160px}.typing{align-self:flex-start;display:flex;gap:5px;padding:.75rem 1rem;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border)}.typing span{width:7px;height:7px;border-radius:50%;background:var(--text-muted);animation:bounce 1.2s infinite ease-in-out}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}.workflow-run-bar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 1.5rem .5rem;padding:.65rem .85rem;border-radius:10px;background:#f0f7ff;border:1px solid #b8d4f0;font-size:.85rem}.workflow-run-bar__info{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem;min-width:0}.workflow-run-bar__label{font-weight:600;color:#2a5080}.workflow-run-bar__info code{font-size:.8rem;word-break:break-all}.workflow-run-bar__btn{flex-shrink:0;padding:.45rem .9rem;border-radius:8px;border:1px solid #2a6cb0;background:#2a6cb0;color:#fff;font-weight:600;font-size:.82rem;cursor:pointer}.workflow-run-bar__btn:hover:not(:disabled){background:#1f5a96}.workflow-run-bar__btn:disabled{opacity:.55;cursor:not-allowed}.chat-input-wrap{flex-shrink:0;padding:.75rem 1.5rem 1.25rem;background:linear-gradient(to top,var(--chat-bg) 70%,transparent)}.message-list__empty{margin:2rem auto;max-width:28rem;text-align:center;color:var(--text-muted);font-size:.88rem;line-height:1.5}.chat-attachments{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.chat-attachment-chip,.bubble-attachment-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .55rem;font-size:.72rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted)}.chat-attachment-chip__remove{border:none;background:transparent;color:inherit;cursor:pointer;padding:0 .15rem;line-height:1}.chat-attach-error{margin:0 0 .45rem;font-size:.75rem;color:var(--acc-red)}.bubble-attachments{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.45rem}.attach-btn{flex-shrink:0;align-self:flex-end;width:2.25rem;height:2.25rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-size:1rem;line-height:1}.attach-btn:disabled{opacity:.45;cursor:not-allowed}.suggestions{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.65rem}.suggestion-chip{padding:.35rem .65rem;font-size:.72rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;transition:border-color .15s,color .15s;max-width:100%;text-align:left}.suggestion-chip:hover:not(:disabled){border-color:var(--acc-red);color:var(--acc-red-dim)}.suggestion-chip:disabled{opacity:.5;cursor:not-allowed}.suggestion-chip--loading{opacity:.65;cursor:wait;animation:suggestion-pulse 1.2s ease-in-out infinite}.suggestion-chip--consent{border-color:#3d6b8c;color:#2a5570;font-weight:500}.suggestion-chip--consent-on{border-color:#2d7a4a;color:#1f5c36;background:#eef8f1}.suggestion-chip--consent:hover:not(:disabled){border-color:#2a5570;color:#1a3d52}.data-access-consent-banner{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin-bottom:.65rem;padding:.65rem .85rem;border-radius:8px;border:1px solid #c9a227;background:#fffbeb;font-size:.8rem;color:#5c4a12}.data-access-consent-banner p{margin:0;flex:1 1 12rem;line-height:1.45}.data-access-consent-banner__btn{flex-shrink:0;padding:.4rem .85rem;font-size:.78rem;font-weight:600;border-radius:6px;border:1px solid #3d6b8c;background:#eef4f8;color:#1a3d52;cursor:pointer}.data-access-consent-banner__btn:hover:not(:disabled){background:#dceaf2}.data-access-consent-banner__btn:disabled{opacity:.55;cursor:not-allowed}@keyframes suggestion-pulse{0%,to{opacity:.55}50%{opacity:.9}}.chat-input{display:flex;gap:.65rem;align-items:flex-end;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.65rem .75rem;box-shadow:var(--shadow)}.chat-input textarea{flex:1;border:none;resize:none;font-size:.92rem;line-height:1.45;background:transparent;min-height:2.5rem;max-height:8rem}.chat-input textarea:focus{outline:none}.send-btn{flex-shrink:0;padding:.55rem 1.1rem;border:none;border-radius:var(--radius-sm);background:var(--acc-red);color:#fff;font-weight:600;font-size:.85rem;cursor:pointer;transition:background .15s,transform .1s}.send-btn:hover:not(:disabled){background:var(--acc-red-dim)}.send-btn:active:not(:disabled){transform:scale(.98)}.send-btn:disabled{opacity:.45;cursor:not-allowed}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.arch-panel{flex:1;overflow-y:auto;padding:1rem 1.5rem 2rem;min-height:0;scroll-behavior:smooth}.arch-jump{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;padding:.65rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);position:sticky;top:0;z-index:50}.arch-jump__link{padding:.3rem .65rem;font-size:.75rem;border-radius:999px;border:1px solid var(--border);background:var(--chat-bg);color:var(--text-muted);text-decoration:none;transition:border-color .15s,color .15s}.arch-jump__link:hover{border-color:var(--acc-red);color:var(--acc-red-dim)}.arch-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:1.25rem;font-size:.72rem}.arch-legend__title{font-weight:600;color:var(--text-muted);margin-right:.25rem}.arch-legend__chip{padding:.2rem .5rem!important;min-width:0;box-shadow:none!important}.arch-legend__chip h4,.arch-legend__chip p,.arch-legend__chip .flow-step__num{display:none}.arch-section{margin-bottom:2rem;scroll-margin-top:4.5rem}.arch-section__head h3{margin:0;font-size:1rem;font-weight:600}.arch-section__head p{margin:.35rem 0 .85rem;font-size:.82rem;color:var(--text-muted);max-width:52rem}.flow-diagram{display:flex;flex-wrap:wrap;align-items:stretch;gap:.35rem 0}.flow-diagram__item{display:flex;align-items:center;flex:1 1 140px;min-width:0}.flow-arrow{display:flex;align-items:center;flex-shrink:0;color:var(--text-muted);padding:0 .15rem;font-size:1.1rem;opacity:.55}.flow-arrow__line{display:none}.flow-step{flex:1;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem .85rem;box-shadow:var(--shadow);border-left-width:4px;border-left-color:var(--border)}.flow-step--user{border-left-color:#2d5bff}.flow-step--web{border-left-color:#6366f1}.flow-step--api{border-left-color:#8b5cf6}.flow-step--llm{border-left-color:#a855f7}.flow-step--tool{border-left-color:#0d9488}.flow-step--guard{border-left-color:#d97706}.flow-step--acc{border-left-color:var(--acc-red)}.flow-step__num{display:inline-block;font-size:.65rem;font-weight:700;color:var(--text-muted);margin-bottom:.25rem}.flow-step h4{margin:0;font-size:.85rem;font-weight:600}.flow-step p{margin:.35rem 0 0;font-size:.75rem;line-height:1.45;color:var(--text-muted)}.flow-step__tools{margin:.5rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.2rem}.flow-step__tools code{font-size:.68rem;background:#f0f0f5;padding:.12rem .35rem;border-radius:4px;word-break:break-all}.fork-diagram{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}.fork-diagram__root{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem}.fork-node{padding:.4rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--chat-bg);font-size:.8rem;font-weight:600}.fork-node--start{border-color:#2d5bff;color:#2d5bff}.fork-node--fork{border-color:#d97706;color:#b45309;background:#fffbeb}.fork-node--acc{border-color:var(--acc-red);color:var(--acc-red-dim);background:#fff5f5}.fork-arrow{color:var(--text-muted);font-size:1rem}.fork-diagram__branches{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-bottom:1.25rem}.fork-branch{display:flex;flex-direction:column;align-items:center}.fork-branch__line{width:2px;height:1.25rem;background:var(--border)}.fork-branch__box{width:100%;text-align:center;padding:.65rem;border:1px dashed var(--border);border-radius:var(--radius-sm);background:#fafafe}.fork-branch__box code{display:block;font-size:.72rem;font-weight:600;margin-bottom:.25rem}.fork-branch__box span{font-size:.68rem;color:var(--text-muted)}.fork-diagram__merge{border-top:1px solid var(--border);padding-top:1rem;text-align:center}.fork-merge-label{margin:0 0 .65rem;font-size:.78rem;color:var(--text-muted)}.fork-merge-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem}.fork-merge-hint{margin:.75rem 0 0;font-size:.72rem;color:var(--text-muted)}.tool-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem}.tool-group-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);border-top:3px solid var(--group-accent, var(--acc-red));padding:.85rem 1rem;box-shadow:var(--shadow)}.tool-group-card h4{margin:0 0 .5rem;font-size:.82rem;font-weight:600}.tool-group-card ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.25rem}.tool-group-card code{font-size:.68rem;word-break:break-all}.guard-list{margin:0;padding:0;list-style:none;display:grid;gap:.45rem;max-width:36rem}.guard-list li{display:flex;gap:.65rem;align-items:baseline;font-size:.82rem;padding:.5rem .65rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.guard-list strong{font-family:ui-monospace,monospace;color:var(--acc-red-dim);min-width:2rem}.arch-footnote{margin:1rem 0 0;font-size:.72rem;color:var(--text-muted)}@media(max-width:900px){.flow-diagram,.flow-diagram__item{flex-direction:column;align-items:stretch}.flow-arrow{justify-content:center;transform:rotate(90deg);padding:.15rem 0}}@media(max-width:768px){.app-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sidebar{flex-direction:row;align-items:center;justify-content:space-between;padding:.65rem 1rem;gap:.75rem}.ghost-btn{margin-top:0;flex-shrink:0}.bubble{max-width:95%}}
