:root{--bg:#f5f7fb;--panel:#fff;--ink:#182033;--muted:#667085;--line:#d8e0ee;--primary:#3157ff;--primary-dark:#1d37a8;--ok:#0f9f7a;--warn:#bd6b00;--bad:#d13045;--soft:#eef4ff;--shadow:0 16px 45px rgba(20,35,80,.12)}
.auth-boot main .view{display:none!important}.auth-boot nav,.auth-boot .session{visibility:hidden}.boot-screen{min-height:calc(100dvh - 76px);display:grid;place-items:center;padding:1rem}.boot-card{width:min(420px,100%);display:grid;justify-items:center;gap:.55rem;padding:1.35rem;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.94);box-shadow:var(--shadow);text-align:center}.boot-card p{margin:.1rem 0 0;color:var(--muted)}.boot-spinner{width:2rem;height:2rem;border-radius:999px;border:3px solid #d7e4ff;border-top-color:var(--primary);animation:p42-boot-spin .8s linear infinite}@keyframes p42-boot-spin{to{transform:rotate(360deg)}}body:not(.auth-boot) .boot-screen{display:none!important}
.hidden{display:none!important}.auth-card-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.auth-google{width:100%;display:flex;justify-content:center;align-items:center;gap:.5rem}.auth-divider{display:flex;align-items:center;gap:.7rem;color:var(--muted);font-size:.88rem;font-weight:800}.auth-divider:before,.auth-divider:after{content:'';height:1px;background:var(--line);flex:1}.auth-mode-panel{display:grid;gap:.85rem}.auth-mode-panel h3{margin:.1rem 0}.auth-switch{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap;padding-top:.2rem;border-top:1px solid var(--line)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(135deg,#eef4ff,var(--bg));font-family:Pretendard,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif;color:var(--ink);line-height:1.5}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #93b4ff;outline-offset:2px}.skip{position:absolute;top:-4rem;left:1rem;background:#111827;color:white;padding:.7rem;border-radius:1rem;z-index:100}.skip:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.topbar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:230px minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;gap:.7rem;align-items:center}.brand span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--primary);color:#fff;font-weight:900}.brand small{display:block;color:var(--muted);font-size:.78rem}nav{display:flex;gap:.35rem;flex-wrap:wrap}.nav,.ghost{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.55rem .75rem;color:var(--ink)}.nav.active,.nav:hover,.ghost:hover{background:var(--soft);border-color:#b9c9ff;color:#17359c}.session{display:flex;gap:.5rem;align-items:center}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .65rem;border-radius:999px;background:#ecfdf3;color:#027a48;font-weight:800;white-space:nowrap}.badge.muted{background:#f2f4f7;color:#475467}.badge.ok{background:#eef4ff;color:#17359c}.primary{border:0;border-radius:12px;padding:.75rem 1rem;background:var(--primary);color:#fff;font-weight:800}.primary:hover{background:var(--primary-dark)}.full{width:100%;margin-top:.7rem}.statusbar{max-width:1440px;margin:.8rem auto 0;padding:.75rem 1.1rem;border:1px solid #b8dbca;background:#ecfdf3;color:#027a48;border-radius:16px;font-weight:800}.statusbar.bad{border-color:#ffd0d7;background:#fff1f3;color:var(--bad)}.error-view{min-height:calc(100dvh - 86px);display:none;place-items:center}.error-view.active{display:grid}.app-error-view{min-height:calc(100dvh - 86px)}.error-shell{width:min(680px,100%);display:grid;gap:.85rem;text-align:left}.error-shell h1{margin:.1rem 0;font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.04em}.error-summary{margin:0;color:#344054;font-size:1.05rem}.error-detail{padding:.85rem 1rem;border:1px solid #ffd0d7;border-radius:16px;background:#fff1f3;color:var(--bad);font-weight:800}.error-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.15rem}.error-inline,.inline-error{display:grid;gap:.65rem;margin:0;padding:1rem;border:1px solid #ffd0d7;border-radius:16px;background:#fff1f3;color:var(--bad)}.error-inline strong,.inline-error strong{font-size:1.05rem}.error-inline p,.inline-error p{margin:0;color:#7a2030}.error-inline-actions{display:flex;flex-wrap:wrap;gap:.45rem}.error-inline-actions button{border:1px solid #ffd0d7;background:#fff;border-radius:999px;padding:.45rem .7rem;color:var(--bad);font-weight:900}
.view{display:none;max-width:1440px;margin:0 auto;padding:1.1rem}.view.active{display:block}.card{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:1.2rem}.hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:1rem;align-items:stretch}.hero h1{font-size:clamp(2rem,5vw,4.6rem);letter-spacing:-.05em;line-height:1.05;margin:.2rem 0}.eyebrow{color:var(--primary);font-weight:900;letter-spacing:.08em;text-transform:uppercase}.grid{display:grid;gap:1rem;margin-top:1rem}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem}.section-head h1{margin:.15rem 0}.ticks,.checks{padding:0;list-style:none}.ticks li,.checks li{margin:.45rem 0;display:flex;gap:.45rem;align-items:flex-start}.ticks li:before{content:'✓';color:var(--ok);font-weight:900}.checks li span{display:grid;place-items:center;min-width:1.5rem;height:1.5rem;border-radius:999px;background:#ecfdf3;color:var(--ok);font-weight:900}.panel,.stack{display:grid;gap:.85rem}.auth-card{align-self:start}.auth-card h2,.auth-panel h3{margin:.1rem 0}.google-login{width:100%;display:flex;justify-content:center;align-items:center;gap:.5rem}.auth-segments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;padding:.3rem;border:1px solid var(--line);border-radius:14px;background:#f8fbff}.segment{border:0;border-radius:11px;background:transparent;padding:.65rem .75rem;font-weight:900;color:var(--muted)}.segment.active{background:#fff;color:var(--primary);box-shadow:0 8px 20px rgba(20,35,80,.1)}.auth-panel{display:none;gap:.85rem;padding-top:.15rem}.auth-panel.active{display:grid}label{display:grid;gap:.35rem;font-weight:750}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;padding:.75rem;color:var(--ink)}textarea{min-height:92px;resize:vertical}.hint,.note,.empty,.empty-inline{color:var(--muted);font-size:.92rem}.empty{padding:1rem;border:1px dashed var(--line);border-radius:14px;background:#fafcff}.empty.error{border-color:#ffd0d7;background:#fff1f3;color:var(--bad)}.session-panel dl{display:grid;gap:.4rem;margin:.7rem 0 0}.session-panel div{display:grid;grid-template-columns:90px 1fr;gap:.5rem}.session-panel dt{color:var(--muted);font-weight:800}.session-panel dd{margin:0;word-break:break-all}
.messenger{display:grid;grid-template-columns:270px minmax(0,1fr) 270px;gap:1rem;padding:1rem}.messenger aside,.chat{min-width:0}.members-pane{align-self:start}.chat{display:grid;grid-template-rows:auto minmax(380px,55vh) auto auto;gap:.7rem}.chat header{padding:.9rem;border:1px solid var(--line);border-radius:16px;background:#fbfdff}.chat-toolbar{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;overflow:visible}.chat header h2,.chat header p{margin:.1rem 0}.chat-header-main{min-width:0;flex:1 1 auto}.chat-header-actions{display:flex;align-items:center;gap:.45rem;flex:0 0 auto}.chat-search-overlay{position:absolute;top:calc(100% + .55rem);right:0;z-index:8;display:grid;gap:.55rem;width:min(420px,calc(100vw - 3rem));padding:.7rem;border:1px solid #b9c9ff;border-radius:16px;background:rgba(255,255,255,.98);box-shadow:0 20px 42px rgba(20,35,80,.18);backdrop-filter:blur(16px)}.chat-search-field{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem}.chat-search-icon{display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:999px;background:var(--soft);color:#17359c;font-weight:900}.chat-search-field input{width:100%;min-width:0}.chat-search-count{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.84rem;font-weight:900;white-space:nowrap}.chat-search-actions{display:flex;justify-content:flex-end;gap:.4rem;flex-wrap:wrap}.chat-search-actions .ghost,.chat-header-actions .ghost{min-height:38px}.messages{overflow:auto;border:1px solid var(--line);border-radius:18px;background:#f8fbff;padding:1rem}.message{margin:0 0 .75rem;padding:.9rem;border:1px solid var(--line);border-radius:16px;background:#fff}.message.agent{background:#f6f9ff}.message.system{background:#fffbeb}.message.deleted{opacity:.72}.message.search-match{border-color:#c9d6ff}.message.search-match-current{border-color:#7f9cff;box-shadow:0 0 0 3px rgba(49,87,255,.08),0 10px 28px rgba(20,35,80,.1)}.message-search-hit{padding:0 .12rem;border-radius:.35rem;background:#fff3bf;color:inherit}.message-search-hit.active{background:#ffd43b;box-shadow:0 0 0 2px rgba(255,212,59,.28)}.message header,.message footer{display:flex;justify-content:space-between;gap:.5rem;align-items:center;flex-wrap:wrap}.message header span{color:var(--muted);font-size:.85rem}.message footer button,.chip button,.item button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.35rem .6rem}.message-form{display:grid;gap:.55rem}.composer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:stretch}.composer-actions{display:grid;grid-auto-rows:min-content;gap:.5rem;align-content:stretch}.composer-actions #uploadBtn,.composer-actions .primary{min-height:42px;white-space:nowrap}.composer{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:.5rem;align-items:center}.upload-status{padding:.55rem .75rem;border:1px solid #b8dbca;border-radius:14px;background:#ecfdf3;color:#027a48;font-weight:800;font-size:.9rem}.upload-status.bad{border-color:#ffd0d7;background:#fff1f3;color:var(--bad)}.attach-tray{min-height:2.5rem;display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.45rem;border:1px dashed var(--line);border-radius:14px;background:#fbfdff}.chips,.attach-tray{display:flex;flex-wrap:wrap;gap:.4rem}.chips span,.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .55rem;border-radius:999px;background:var(--soft);color:#17359c;font-size:.85rem}.chip a{color:#17359c;font-weight:900}.chip button{padding:0 .35rem;border:0;background:transparent;font-weight:900;color:#17359c}.list{display:grid;gap:.55rem}.item{display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:16px;padding:.8rem;background:#fff;color:var(--ink)}button.item:hover,.item.selected{border-color:#b9c9ff;background:#eef4ff}.item small{display:block;color:var(--muted);margin-top:.25rem}.ops{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.ops textarea{min-height:180px}.schema-view textarea{min-height:360px}.row{display:grid;gap:.35rem}.auth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.checks li strong{display:block}.policy{margin:.6rem 0 0;padding-left:1rem}.policy li{margin:.35rem 0}.top-actions{display:flex;gap:.5rem;flex-wrap:wrap}aside .controls,header .controls{display:flex;gap:.5rem;flex-wrap:wrap}.room-meta,.member-meta{color:var(--muted);font-size:.85rem}.chip.warn{background:#fffbeb;color:#92400e}.chip.bad{background:#fff1f3;color:var(--bad)}.room-list,.member-list{max-height:420px;overflow:auto}.inline{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.file-row{display:flex;gap:.5rem;align-items:center;justify-content:space-between;padding:.7rem;border:1px solid var(--line);border-radius:14px;background:#fbfdff}.file-row a{font-weight:900;color:#17359c}.grid.files{grid-template-columns:repeat(2,minmax(0,1fr))}.modal{position:fixed;inset:0;display:grid;place-items:center;background:rgba(15,23,42,.3);z-index:50}.modal.hidden{display:none}.modal-card{width:min(480px,92vw);max-height:86vh;overflow:auto;background:#fff;border-radius:22px;padding:1rem;border:1px solid var(--line);box-shadow:var(--shadow)}.modal-card h3{margin-top:0}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.toast{position:fixed;bottom:1rem;right:1rem;background:#111827;color:#fff;padding:.8rem 1rem;border-radius:14px;box-shadow:var(--shadow);z-index:60}.toast.bad{background:var(--bad)}.room-card,.member-card{display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:16px;padding:.75rem;background:#fff}.room-card.active,.member-card.active{border-color:#9db2ff;background:#eef4ff}.room-card small,.member-card small{display:block;color:var(--muted)}.badge-row{display:flex;gap:.4rem;flex-wrap:wrap}.message .meta{color:var(--muted);font-size:.8rem}.file-link{display:inline-flex;gap:.35rem;align-items:center;font-weight:900;color:#17359c}.helper{color:var(--muted);font-size:.85rem}.muted{color:var(--muted)}.danger{background:#fff1f3;color:var(--bad);border-color:#ffd0d7}.ghost.bad{color:var(--bad);border-color:#ffd0d7}.message strong{display:inline-block;margin-right:.35rem}.hero ul{padding-left:1rem}.hero li{margin:.35rem 0}.session{justify-content:flex-end}.admin-grid,.ops-grid,.grid,.hero,.split,.auth-grid{min-width:0}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.stats div,.ops-card{padding:1rem;border:1px solid var(--line);border-radius:16px;background:#fbfdff}.stats strong,.ops-card strong{display:block;font-size:1.6rem}.stats span,.ops-card span{color:var(--muted)}.ops-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:.1rem}.ops-card.ok{border-color:#b8dbca;background:#ecfdf3}.ops-card.bad{border-color:#ffd0d7;background:#fff1f3}.ops-card small{display:block;margin-top:.3rem;color:var(--muted);word-break:break-word}.ops-list{display:grid;gap:.6rem}.ops-row{display:grid;grid-template-columns:auto 150px minmax(0,1fr);gap:.6rem;align-items:center;padding:.7rem;border:1px solid var(--line);border-radius:14px;background:#fbfdff}.dot{width:.75rem;height:.75rem;border-radius:999px;background:var(--muted)}.dot.ok{background:var(--ok)}.dot.bad{background:var(--bad)}.audit{display:grid;gap:.55rem}.audit div{display:grid;grid-template-columns:180px minmax(160px,1fr) minmax(120px,1fr) minmax(0,1fr);gap:.6rem;align-items:center;padding:.75rem;border:1px solid var(--line);border-radius:14px;background:#fbfdff}.audit time{color:var(--muted);font-size:.85rem}.audit small{color:var(--muted);word-break:break-all}.audit-flow{display:inline-flex;align-items:center;gap:.38rem;min-width:0;flex-wrap:wrap}.audit-flow-icon{display:inline-flex;align-items:center;justify-content:center;color:#17359c}.audit-flow-icon .ui-icon{width:.9rem;height:.9rem}.checks li .checklist-item-icon{display:grid;place-items:center;min-width:1.5rem;height:1.5rem;border-radius:999px;background:#ecfdf3;color:var(--ok);font-weight:900}.checks li .checklist-item-icon .ui-icon{width:.9rem;height:.9rem}.checks li .checklist-item-icon + *{min-width:0}pre{white-space:pre-wrap;word-break:break-word;background:#101828;color:#e4e7ec;border-radius:16px;padding:1rem;overflow:auto;max-height:520px}.hidden{display:none!important}.auth-view{padding-top:1.4rem}.auth-hero{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);overflow:hidden}.auth-copy{display:grid;align-content:center}.auth-card{position:relative;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #cdd8f5;border-radius:24px;padding:1.25rem;box-shadow:0 24px 55px rgba(49,87,255,.14)}.auth-card:before{content:'';position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--primary),#77d4ff);border-radius:24px 24px 0 0}.auth-card-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.auth-card-head h2,.auth-mode-panel h3{margin:.15rem 0 .35rem}.auth-google{width:100%;margin-top:.75rem;display:flex;justify-content:center;align-items:center;gap:.45rem}.auth-divider{display:flex;align-items:center;gap:.7rem;color:var(--muted);font-size:.88rem;font-weight:800}.auth-divider:before,.auth-divider:after{content:'';height:1px;flex:1;background:var(--line)}.auth-mode-panel{display:grid;gap:.75rem;padding:.9rem;border:1px solid var(--line);border-radius:18px;background:#fff}.auth-switch{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap;padding:.8rem;border-radius:16px;background:var(--soft)}.auth-switch span{color:#17359c;font-weight:800}.toast{position:fixed;right:1rem;bottom:1rem;max-width:min(420px,calc(100vw - 2rem));background:#111827;color:#fff;border-radius:16px;padding:.9rem 1rem;box-shadow:var(--shadow);z-index:99}.toast.bad{background:var(--bad)}
body:not(.is-authenticated) .topbar{grid-template-columns:230px 1fr auto}body:not(.is-authenticated) nav{display:none}body:not(.is-authenticated) .session{display:none}.is-user #projects,.is-user #agents,.is-user #admin,.is-user #schema,.is-user #checklist{display:none!important}.is-user .topbar{grid-template-columns:230px 1fr auto}.is-user nav{justify-content:center}.is-user .nav[data-view="messenger"]{display:inline-flex!important;background:var(--soft);border-color:#9db2ff;color:#17359c}.is-user .messenger{grid-template-columns:300px minmax(0,1fr) 300px}.messenger.card{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,249,255,.97));box-shadow:0 22px 65px rgba(20,35,80,.14)}.messenger aside{border:1px solid var(--line);border-radius:18px;background:#fbfdff;padding:.9rem}.messenger aside h2{margin:.15rem 0 .75rem}.messenger input,#messageInput{border:1px solid var(--line);border-radius:14px;padding:.78rem .9rem;background:#fff;transition:border-color .15s,box-shadow .15s}.messenger input:focus,#messageInput:focus{border-color:#8ba8ff;box-shadow:0 0 0 4px rgba(49,87,255,.12);outline:0}.chat header{background:linear-gradient(135deg,#ffffff,#eef4ff)}.message{box-shadow:0 8px 24px rgba(20,35,80,.07)}.message.user{border-color:#c9d6ff;background:#fff}.message.agent{margin-right:8%;border-color:#d7e4ff}.message.system{text-align:left;border-style:dashed}.messenger-only-hint{margin:.75rem 0 0;padding:.75rem;border-radius:14px;background:#eef4ff;color:#17359c}.section-head{padding:.25rem .1rem}.section-head h1{letter-spacing:-.035em}.auth-view .grid.three .card{box-shadow:none}.session-panel dl{display:grid;gap:.45rem;margin:0}.session-panel div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:.5rem}.session-panel dt{color:var(--muted);font-weight:800}.session-panel dd{margin:0;word-break:break-word}.empty,.hint{color:var(--muted)}@media (max-width:1100px){.topbar{grid-template-columns:1fr;align-items:start}.session{justify-content:space-between}.hero,.grid.two,.grid.three,.messenger,.is-user .messenger{grid-template-columns:1fr}.messenger{padding:.8rem}.chat{grid-template-rows:auto minmax(300px,50vh) auto auto}.ops-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.audit div{grid-template-columns:1fr}.ops-row{grid-template-columns:auto 1fr}}
.admin-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1.35fr) minmax(280px,1fr);gap:1rem;margin-top:1rem;align-items:stretch}.admin-grid .admin-card{display:grid;align-content:start;gap:.75rem;min-width:0;height:100%}.admin-grid .admin-card h2,.admin-grid .admin-card .hint{margin:0}.admin-card-summary{grid-column:1 / span 2}.admin-card-session{grid-column:3}.admin-card-profiles{grid-column:1 / span 2}.admin-card-integrations{grid-column:3}.admin-grid .stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem}.admin-grid .ops-list,.admin-grid .matrix,.admin-grid .audit{min-width:0}.admin-grid .ops-row{grid-template-columns:auto minmax(120px,160px) minmax(0,1fr)}@media (max-width:1180px){.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-card-summary,.admin-card-profiles{grid-column:1 / -1}.admin-card-session,.admin-card-integrations{grid-column:auto}}.user-admin-list .user-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center}.user-row p{margin:.3rem 0 0;color:var(--muted);font-size:.9rem}.user-protection-note{color:var(--bad)!important;font-weight:800}.row-actions{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.row-actions .danger,.danger{border:1px solid #ffc2ca;background:var(--color-danger-bg,#fff1f3);color:var(--bad);border-radius:999px;padding:.35rem .6rem;font-weight:900}.danger:hover:not(:disabled){background:var(--bad);border-color:var(--bad);color:#fff}.danger:disabled{cursor:not-allowed;opacity:.58}.danger-modal .modal-card{border-color:#ffc2ca}.danger-eyebrow,.danger-copy{color:var(--bad)}.danger-copy{margin:.7rem 0 0;font-weight:800}.matrix{display:grid;gap:.55rem}.matrix-row{display:grid;grid-template-columns:minmax(120px,.8fr) auto auto minmax(0,1fr);gap:.55rem;align-items:center;padding:.7rem;border:1px solid var(--line);border-radius:14px;background:#fbfdff}.matrix-row small{color:var(--muted)}.profile-pills{display:flex;flex-wrap:wrap;gap:.45rem}.profile-pill{display:inline-grid;gap:.08rem;padding:.45rem .6rem;border:1px solid #b8dbca;border-radius:999px;background:#ecfdf3;color:#027a48}.profile-pill strong{font-size:.88rem}.profile-pill em{font-style:normal;font-size:.72rem;color:#047857}select{border:1px solid var(--line);border-radius:14px;padding:.78rem .9rem;background:#fff;color:var(--ink)}
@media (max-width:640px){.view{padding:.7rem}.card{padding:1rem;border-radius:16px}.topbar{padding:.75rem}.brand small{display:none}nav{overflow:auto;flex-wrap:nowrap;padding-bottom:.2rem}.session{align-items:stretch;flex-direction:column}.section-head{align-items:stretch;flex-direction:column}.composer{grid-template-columns:1fr 1fr}.composer input,.composer .primary{grid-column:1/-1}.hero h1{font-size:2.2rem}.stats{grid-template-columns:1fr}.session-panel div{grid-template-columns:1fr}.statusbar{margin:.7rem .7rem 0}.ops-card strong,.stats strong{font-size:1.25rem}.admin-grid{grid-template-columns:1fr}.user-admin-list .user-row,.matrix-row{grid-template-columns:1fr}.row-actions{justify-content:flex-start}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* P15 layout polish: tighter messenger rhythm, member modal, readable message width */
.view{max-width:1320px;padding:1rem clamp(.75rem,2vw,1.25rem)}
.section-head{margin-bottom:.75rem}.section-head h1{font-size:clamp(1.55rem,2.5vw,2.2rem)}
.messenger.card{padding:clamp(.75rem,1.4vw,1rem);gap:clamp(.65rem,1.2vw,.9rem)}
.messenger{grid-template-columns:minmax(230px,260px) minmax(400px,700px) minmax(280px,340px);justify-content:center;align-items:start}
.messenger aside{padding:.75rem;border-radius:16px}.messenger aside h2{margin:.05rem 0 .55rem;font-size:1.05rem}.member-section{display:grid;gap:.45rem;margin-top:.65rem}.member-section h3{margin:.1rem 0;font-size:.92rem;color:var(--muted)}
.chat{grid-template-rows:auto minmax(340px,52vh) auto auto;gap:.55rem;max-width:760px;width:100%;justify-self:center}.chat header{padding:.75rem .85rem;border-radius:15px}.messages{min-height:100%;padding:.75rem;border-radius:16px;background:linear-gradient(180deg,#f8fbff,#f3f7ff)}.messages.is-empty{display:grid;align-content:center}.messages-empty-state{display:grid;place-items:center;min-height:100%;padding:clamp(1.5rem,4vw,3rem);text-align:center}.messages-empty-state .empty{max-width:42ch;margin:0 auto;line-height:1.6}
.message{max-width:min(92%,620px);margin-bottom:.6rem;padding:.75rem .85rem;border-radius:15px}.message.user{margin-left:0}.message:not(.own){margin-left:0;margin-right:auto}.message.own{margin-left:auto}.message.agent{margin-right:auto}.message.system{max-width:86%;margin-left:0;margin-right:auto;padding:.65rem .8rem;text-align:left}.message.own header{justify-content:flex-end}.message time{font-variant-numeric:tabular-nums}.message p{margin:.45rem 0;white-space:pre-wrap}.message header span{font-size:.78rem}.message footer{margin-top:.45rem}.message[data-delivery-state="pending"]{border-style:dashed;box-shadow:0 0 0 1px rgba(49,87,255,.10),0 10px 24px rgba(20,35,80,.08)}.message-pending-badge{display:inline-flex;align-items:center;gap:.28rem;padding:.18rem .5rem;border:1px solid #b9c9ff;border-radius:999px;background:#eef4ff;color:#17359c;font-size:.75rem;font-weight:900;line-height:1.2}.message-pending-badge:before{content:'';width:.42rem;height:.42rem;border-radius:999px;background:currentColor;opacity:.72}.composer{gap:.4rem}.composer button,.composer input{min-height:42px}.hint{font-size:.88rem}.list{gap:.45rem}.item{padding:.65rem .7rem;border-radius:14px}.member-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;min-height:44px;padding:6px 8px}.member-card strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.2}.member-card span{font-size:11px;line-height:1.25}.member-card p{display:none}.member-card button{min-height:28px;white-space:nowrap;padding:.3rem .55rem;font-size:.78rem}.note{font-size:.84rem;color:var(--muted)}
.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:1rem}.modal.hidden{display:none!important}.modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.42);backdrop-filter:blur(6px)}.modal-card{position:relative;z-index:1;width:min(560px,calc(100vw - 2rem));max-height:min(720px,calc(100vh - 2rem));overflow:auto;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 90px rgba(20,35,80,.28);padding:1.25rem}.modal-card h2{margin:.15rem 2rem .75rem 0}.modal-close{position:absolute;right:.8rem;top:.8rem;border:1px solid var(--line);background:#fff;border-radius:999px;width:2.1rem;height:2.1rem;font-size:1.25rem;line-height:1}.modal-body{display:grid;gap:.7rem}.member-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:0}.member-detail div{display:grid;gap:.32rem;align-content:start;min-width:0;padding:.75rem;border:1px solid var(--line);border-radius:14px;background:#fbfdff}.member-detail .wide{grid-column:1/-1}.member-detail dt{margin:0;color:var(--muted);font-size:.76rem;font-weight:900;letter-spacing:.02em}.member-detail dd{margin:0;word-break:break-word;line-height:1.5;font-weight:700}.member-detail .wide dd{font-weight:600}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--line)}
@media (max-width:1100px){.messenger{grid-template-columns:minmax(220px,260px) minmax(0,1fr);}.messenger>aside:last-child{grid-column:1/-1}.chat{max-width:none}.messages{min-height:340px}.is-user .messenger{grid-template-columns:minmax(220px,260px) minmax(0,1fr)}}
@media (max-width:760px){.messenger,.is-user .messenger{grid-template-columns:1fr}.chat{grid-template-rows:auto minmax(320px,48vh) auto auto}.composer{grid-template-columns:1fr 1fr}.composer input,.composer .primary{grid-column:1/-1}.message,.message.system{max-width:100%}.member-detail{grid-template-columns:1fr}.modal-card{padding:1rem}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}

/* P24 mobile messenger UX + room/member information architecture */
.filter-row{display:flex;flex-wrap:wrap;gap:.35rem;margin:.55rem 0 .65rem}.filter-row button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.38rem .58rem;color:var(--muted);font-size:.8rem;font-weight:900}.filter-row button.active,.filter-row button[aria-pressed="true"]{border-color:#9db2ff;background:var(--soft);color:#17359c}.room-list{align-content:start}.room-group,.member-group{display:grid;gap:.4rem;padding:.35rem 0 .55rem;border-top:1px solid rgba(216,224,238,.8)}.room-group:first-child,.member-group:first-child{border-top:0}.room-group h3,.member-group h3{display:flex;align-items:center;justify-content:space-between;margin:.05rem 0;color:#344054;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.room-group h3 span,.member-group h3 span{display:grid;place-items:center;min-width:1.45rem;height:1.45rem;border-radius:999px;background:#eef4ff;color:#17359c}.room-group p{margin:-.25rem 0 .1rem;color:var(--muted);font-size:.78rem}.room-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.25rem .45rem;align-items:center}.room-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-card small{grid-column:2;color:var(--muted);font-size:.77rem}.type-chip{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:.2rem .45rem;background:#f2f4f7;color:#475467;font-size:.72rem;font-weight:900;line-height:1.15;white-space:nowrap}.type-chip.dm,.type-chip.agent,.type-chip.pm-agent{background:#eef4ff;color:#17359c}.type-chip.team-pm-agent{background:#f4f3ff;color:#5925dc}.type-chip.team{background:#ecfdf3;color:#027a48}.type-chip.direct,.type-chip.user{background:#fff7ed;color:#a65300}.type-chip.project,.type-chip.project-agent{background:#f4f3ff;color:#5925dc}.type-chip.system,.type-chip.group{background:#fffbeb;color:#92400e}.member-card{grid-template-columns:minmax(0,1fr) auto}.member-card>div{display:grid;gap:.22rem;min-width:0}.member-card strong{margin-top:.04rem}.message-card{margin:.45rem 0 0;padding:.75rem;border:1px solid #d7e4ff;border-radius:14px;background:linear-gradient(180deg,#fff,#f8fbff)}.message-fold{margin:.45rem 0}.message-fold summary{display:grid;gap:.2rem;padding:.62rem .7rem;border:1px solid #d7e4ff;border-radius:14px;background:#fbfdff;cursor:pointer}.message-fold summary span{color:var(--muted);font-size:.85rem}.message-fold[open] summary{border-bottom-left-radius:10px;border-bottom-right-radius:10px}.message-fold .message-card{margin-top:.35rem}.messages{scrollbar-gutter:stable}.rooms-pane{grid-area:rooms}.chat{grid-area:chat}.members-pane{grid-area:members}
@media (max-width:1180px){.messenger,.is-user .messenger{grid-template-columns:minmax(220px,260px) minmax(0,1fr);grid-template-areas:"rooms chat" "members members"}.members-pane{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.members-pane>h2,.members-pane>#memberSearch,.members-pane>#memberTypeFilters,.members-pane>.note{grid-column:1/-1}.members-pane .member-section{margin-top:0}}
@media (max-width:820px){.messenger.card{padding:.65rem}.messenger,.is-user .messenger{grid-template-columns:1fr;grid-template-areas:"chat" "rooms" "members"}.chat{grid-template-rows:auto minmax(360px,58vh) auto auto}.rooms-pane,.members-pane{max-height:none}.room-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.55rem}.room-group{border:1px solid var(--line);border-radius:16px;padding:.65rem;background:#fff}.members-pane{display:block}.filter-row{overflow:auto;flex-wrap:nowrap;padding-bottom:.15rem}.filter-row button{flex:0 0 auto}.message{max-width:100%;margin-left:0!important;margin-right:0!important}.message header{align-items:flex-start}.message header span{display:flex;gap:.28rem;align-items:center;flex-wrap:wrap}.composer{position:sticky;bottom:.35rem;z-index:3;padding:.45rem;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 10px 30px rgba(20,35,80,.12)}}
@media (max-width:520px){.chat{grid-template-rows:auto minmax(330px,56vh) auto auto}.room-list{grid-template-columns:1fr}.room-card{grid-template-columns:1fr}.room-card small{grid-column:1}.member-card{grid-template-columns:1fr}.member-card button{width:100%}.message-fold summary{padding:.55rem}.message-card{padding:.62rem}.messenger aside{padding:.65rem}.topbar{grid-template-columns:1fr auto}.brand span{width:36px;height:36px}.session .badge{max-width:46vw;overflow:hidden;text-overflow:ellipsis}}

/* P27 mobile messenger first-pass: collapse 3-column messenger into tabbed panes */
.messenger-tabs{display:none}
@media (max-width:640px){
  .topbar{grid-template-columns:minmax(0,1fr);gap:.55rem;align-items:stretch;padding:.65rem .7rem}
  .brand{min-width:0}.brand strong{display:block;line-height:1.1}.brand small{display:none}
  body.is-authenticated .topbar,body:not(.is-authenticated) .topbar,.is-user .topbar{grid-template-columns:minmax(0,1fr)}
  .topbar nav{order:2;display:flex;width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;flex-wrap:nowrap;gap:.35rem;padding:.1rem 0 .25rem;scrollbar-width:thin}
  .topbar .nav{flex:0 0 auto;padding:.48rem .68rem;white-space:nowrap;font-size:.9rem}
  .session{order:3;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.45rem;min-width:0}
  .session .badge{min-width:0;max-width:65vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .session .ghost{flex:0 0 auto;padding:.48rem .68rem;white-space:nowrap}
  body:not(.is-authenticated) .session{display:none}
  body:not(.is-authenticated) nav{display:none}
  .section-head h1{font-size:1.45rem;line-height:1.18}
  }
@media (max-width:820px){
  .messenger.card{display:grid;grid-template-columns:1fr;grid-template-areas:"tabs" "chat" "rooms" "members";gap:.65rem;align-items:stretch;padding:.65rem;overflow:visible}
  .messenger-tabs{grid-area:tabs;position:sticky;top:0;z-index:4;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;padding:.35rem;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 10px 28px rgba(20,35,80,.10);backdrop-filter:blur(12px)}
  .messenger-tabs button{border:1px solid transparent;border-radius:12px;background:transparent;padding:.62rem .45rem;color:var(--muted);font-weight:900;white-space:nowrap}
  .messenger-tabs button.active,.messenger-tabs button[aria-selected="true"]{border-color:#9db2ff;background:var(--soft);color:#17359c}
  .messenger>.rooms-pane,.messenger>.chat,.messenger>.members-pane{display:none;min-width:0}
  .messenger>.mobile-pane-active{display:grid}
  .messenger>.members-pane.mobile-pane-active{display:block}
  .chat.mobile-pane-active{grid-template-rows:auto minmax(260px,calc(100dvh - 390px)) auto auto;min-height:0}
  .messages{min-height:260px;max-height:calc(100dvh - 390px)}
  .composer{position:sticky;bottom:.45rem;z-index:5;grid-template-columns:1fr 1fr;padding:.5rem;border:1px solid #b9c9ff;border-radius:16px;background:rgba(255,255,255,.97);box-shadow:0 14px 36px rgba(20,35,80,.18)}
  .composer input,.composer .primary{grid-column:1/-1}
  .composer button,.composer input{min-height:44px}
  .attach-tray,.upload-status,.chat>.hint{font-size:.84rem}
  .rooms-pane,.members-pane{max-height:none}
  .room-list{display:grid;grid-template-columns:1fr;gap:.55rem}
}
@media (max-width:390px){
  .view{padding:.55rem}.statusbar{margin:.55rem .55rem 0;padding:.62rem .75rem;font-size:.86rem}
  .messenger.card{padding:.5rem;border-radius:15px}.messenger-tabs{top:0;padding:.28rem}.messenger-tabs button{padding:.55rem .25rem;font-size:.88rem}
  .chat header{padding:.65rem}.chat header h2{font-size:1.05rem}.chat header p{font-size:.86rem}
  .messages{padding:.55rem;min-height:245px;max-height:calc(100dvh - 375px)}
  .message{padding:.65rem .7rem}.composer{gap:.4rem;padding:.42rem}.composer button,.composer input{font-size:.92rem}
}

/* P28 IA/readability: stronger grouped sidebars + long PM/Agent answer cards */
.room-group,.member-group{position:relative}
.room-group h3,.member-group h3{padding:.12rem .05rem;border-radius:10px}
.room-group h3 span,.member-group h3 span{font-variant-numeric:tabular-nums;font-size:.76rem}
.room-card{position:relative;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}
.room-card:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(20,35,80,.09)}
.room-card.selected{border-color:#7f9cff;background:linear-gradient(135deg,#fff,#eef4ff);box-shadow:0 12px 28px rgba(49,87,255,.14)}
.room-card small{display:flex;gap:.3rem;align-items:center;flex-wrap:wrap}
.members-pane .member-section>h3{display:flex;align-items:center;gap:.4rem;margin:.8rem 0 .45rem;color:#344054;font-size:.92rem}
.members-pane .member-section>h3:before{content:'';width:.45rem;height:.45rem;border-radius:999px;background:var(--primary)}
.member-group{padding:.45rem .05rem .6rem}.member-group h3{background:rgba(238,244,255,.65);padding:.38rem .48rem}.member-card .type-chip{margin-bottom:.04rem}
.message-card.compact-agent{background:linear-gradient(180deg,#fff,#f8fbff)}
.message-card.long-read{max-height:min(58vh,560px);overflow:auto;line-height:1.68;background:linear-gradient(180deg,#ffffff,#fbfdff)}
.message-fold{margin:.45rem 0 0;border:1px solid #d7e4ff;border-radius:15px;background:#fff;overflow:hidden}
.fold-toggle{display:grid;width:100%;gap:.35rem;padding:.7rem .8rem;border:0;border-radius:0;background:linear-gradient(135deg,#eef4ff,#fff);color:var(--ink);text-align:left;cursor:pointer;list-style:none;touch-action:manipulation}
.fold-toggle:hover{background:linear-gradient(135deg,#e6efff,#fff)}
.fold-action{justify-self:start;border:1px solid #b9c9ff;border-radius:999px;padding:.16rem .5rem;background:#fff;color:#17359c;font-size:.72rem;font-weight:900;order:3}
.message-fold.is-expanded .fold-preview{display:none}
.fold-title{display:flex;justify-content:space-between;gap:.5rem;align-items:center;flex-wrap:wrap}.fold-title em{font-style:normal;color:var(--muted);font-size:.76rem;font-weight:800}.fold-preview{color:#475467;font-size:.88rem;line-height:1.45}.message-fold .message-card{margin:0;border:0;border-top:1px solid #d7e4ff;border-radius:0}
@media (max-width:820px){.message-card.long-read{max-height:48vh}.fold-toggle{padding:.65rem}.fold-preview{font-size:.84rem}.members-pane .member-section:first-of-type{min-height:38vh}.members-pane #roomParticipantList{min-height:30vh;max-height:46vh;overflow:auto;overscroll-behavior:contain}}

/* P29 desktop messenger regression: stable 3-column desktop with bounded sidebars */
@media (min-width: 821px) {
  #messenger.view { max-width: 1760px; padding-left: clamp(7px, 0.55vw, 10px); padding-right: clamp(7px, 0.55vw, 10px); }
  .messenger.card { width: 100%; grid-template-columns: minmax(232px, clamp(240px, 18vw, 292px)) minmax(0px, 1fr) minmax(260px, clamp(280px, 20vw, 320px)); gap: clamp(9px, 0.65vw, 12px); padding: clamp(10px, 0.72vw, 14px); align-items: stretch; justify-content: stretch; overflow: hidden; }
  .is-user .messenger { grid-template-columns: minmax(232px, clamp(240px, 18vw, 292px)) minmax(0px, 1fr) minmax(260px, clamp(280px, 20vw, 320px)); }
  .messenger > .rooms-pane, .messenger > .members-pane, .messenger > .chat { grid-area: auto; min-width: 0px; min-height: 0px; max-width: 100%; }
  .messenger > .rooms-pane { grid-column: 1; }
  .messenger > .chat { grid-column: 2; }
  .messenger > .members-pane { grid-column: 3; }
  .messenger > .rooms-pane, .messenger > .members-pane { display: flex; flex-direction: column; max-height: calc(-190px + 100dvh); overflow: hidden; }
  .chat { max-width: none; justify-self: stretch; grid-template-rows: auto minmax(420px, 1fr) auto auto; max-height: calc(-190px + 100dvh); }
  .messages { min-height: 420px; max-height: none; overflow: auto; min-width: 0px; }
  .rooms-pane > #roomSearch, .members-pane > #memberSearch { width: 100%; flex: 0 0 auto; }
  .rooms-pane > .filter-row, .members-pane > .filter-row, .rooms-pane > .messenger-only-hint, .members-pane > .note { flex: 0 0 auto; }
  .rooms-pane > .room-list { flex: 1 1 auto; min-height: 180px; overflow: auto; align-content: start; padding-right: 0.15rem; overscroll-behavior: contain; }
  .members-pane > .member-section { display: flex; flex-direction: column; min-height: 0px; overflow: hidden; }
  .members-pane > .member-section:first-of-type { flex: 0 1 48%; min-height: 230px; }
  .members-pane > .member-section:last-of-type { flex: 1 1 auto; }
  #roomParticipantList, #allMemberList { min-height: 0px; overflow: auto; padding-right: 0.15rem; overscroll-behavior: contain; }
  .members-pane > .member-section:first-of-type #roomParticipantList { min-height: 180px; max-height: 42vh; }
  .members-pane > .member-section:last-of-type #allMemberList { max-height: none; flex: 1 1 auto; }
  .message { max-width: min(92%, 700px); min-width: 0px; overflow-wrap: anywhere; }
  .message-card, .message-fold { max-width: 100%; min-width: 0px; overflow-wrap: anywhere; }
  .message-card.long-read { max-height: min(52vh, 520px); overflow: auto; }
  .message p, .message-card p { overflow-wrap: anywhere; word-break: break-word; }
  .fold-toggle, .fold-title, .fold-preview { min-width: 0px; max-width: 100%; }
}
  @media (min-width: 1181px) {
    #messenger.view { max-width: min(1760px, -14px + 100vw); padding-inline: clamp(7px, 0.55vw, 10px); }
    #messenger .messenger.card { grid-template-columns: minmax(232px, clamp(240px, 18vw, 292px)) minmax(520px, 1fr) minmax(260px, clamp(280px, 20vw, 320px)); gap: clamp(9px, 0.65vw, 12px); padding: clamp(10px, 0.72vw, 14px); }
    .is-user #messenger .messenger { grid-template-columns: minmax(232px, clamp(240px, 18vw, 292px)) minmax(520px, 1fr) minmax(260px, clamp(280px, 20vw, 320px)); }
    #messenger .chat { grid-template-rows: auto minmax(430px, 1fr) auto auto; }
    #messenger .messages { min-height: 430px; }
    #messenger .message { max-width: min(78%, 720px); }
    #messenger .message.own { max-width: min(68%, 600px); }
  }
  @media (min-width: 1181px) and (max-width: 1320px) {
    #messenger .messenger.card, .is-user #messenger .messenger { grid-template-columns: minmax(224px, 242px) minmax(0px, 1fr) minmax(248px, 276px); gap: 10px; padding: 10px; }
    #messenger .chat { grid-template-rows: auto minmax(390px, 1fr) auto auto; }
    #messenger .messages { min-height: 390px; }
    #messenger .message { max-width: min(84%, 680px); }
  }

/* P33 UI cleanup: selectable messages + compact current-room participants */
.messages,.message,.message p,.message-card,.message-card p,.message-fold,.message-fold .message-card,.long-read{user-select:text;-webkit-user-select:text}
.fold-toggle{user-select:none;-webkit-user-select:none}
.fold-preview{user-select:text;-webkit-user-select:text}
.message footer:empty{display:none}
#roomParticipantList,#allMemberList{display:grid;gap:.35rem;align-content:start;align-items:start}
#roomParticipantList .compact-member-group,#allMemberList .compact-member-group{gap:.28rem;padding:.28rem 0 .38rem}
#roomParticipantList .compact-member-group h3,#allMemberList .compact-member-group h3{margin:.05rem 0;padding:.25rem .4rem;font-size:.76rem}
#roomParticipantList .compact-member-card,#allMemberList .compact-member-card,#sidebarMemberList .compact-member-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.4rem;padding:.45rem .5rem;border-radius:12px;box-shadow:none;min-height:48px}
#roomParticipantList .compact-member-card.compact-member-card-actionable,#allMemberList .compact-member-card.compact-member-card-actionable,#sidebarMemberList .compact-member-card.compact-member-card-actionable{cursor:pointer}
#roomParticipantList .compact-member-card.compact-member-card-actionable:hover,#allMemberList .compact-member-card.compact-member-card-actionable:hover,#sidebarMemberList .compact-member-card.compact-member-card-actionable:hover{border-color:#9db2ff;background:#f8fbff}
#roomParticipantList .compact-member-card.compact-member-card-actionable:focus-visible,#allMemberList .compact-member-card.compact-member-card-actionable:focus-visible,#sidebarMemberList .compact-member-card.compact-member-card-actionable:focus-visible{outline:3px solid var(--focus-ring,#93b4ff);outline-offset:2px;box-shadow:var(--shadow-focus,0 0 0 4px rgba(49,87,255,.12))}
#roomParticipantList .compact-member-card .compact-member-card-main,#allMemberList .compact-member-card .compact-member-card-main,#sidebarMemberList .compact-member-card .compact-member-card-main{display:grid;gap:.18rem;min-width:0}
#roomParticipantList .compact-member-card .member-card-title-row,#allMemberList .compact-member-card .member-card-title-row,#sidebarMemberList .compact-member-card .member-card-title-row{display:flex;align-items:center;gap:.38rem;min-width:0;flex-wrap:wrap}
#roomParticipantList .compact-member-card .member-card-title-row strong,#allMemberList .compact-member-card .member-card-title-row strong,#sidebarMemberList .compact-member-card .member-card-title-row strong{font-size:.86rem;line-height:1.15;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#roomParticipantList .compact-member-card .member-card-title-row .type-chip,#allMemberList .compact-member-card .member-card-title-row .type-chip,#sidebarMemberList .compact-member-card .member-card-title-row .type-chip{margin:0;padding:.16rem .38rem;font-size:.66rem;line-height:1.1}
#roomParticipantList .compact-member-card .member-card-summary,#allMemberList .compact-member-card .member-card-summary,#sidebarMemberList .compact-member-card .member-card-summary{font-size:.72rem;line-height:1.2;color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#allMemberList .compact-member-card button,#sidebarMemberList .compact-member-card button{padding:.28rem .52rem;font-size:.78rem;line-height:1.15;white-space:nowrap}.member-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:.3rem;flex-wrap:wrap}
.signup-step{padding-top:.15rem}.step-label{margin:0;color:var(--primary);font-size:.86rem;font-weight:900}
@media (max-width:520px){#roomParticipantList .compact-member-card,#allMemberList .compact-member-card,#sidebarMemberList .compact-member-card{padding:.42rem .48rem}#roomParticipantList .compact-member-card .member-card-title-row strong,#allMemberList .compact-member-card .member-card-title-row strong,#sidebarMemberList .compact-member-card .member-card-title-row strong{max-width:100%}#roomParticipantList .compact-member-card{min-height:42px;padding:.34rem .42rem}.member-card-actions{justify-content:flex-start}.member-card-actions button{width:auto}}

/* P34 OAuth-first signup, clearer message timestamps, denser all-member list */
.signup-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin:.2rem 0 .75rem;padding:0;list-style:none}
.signup-progress li{display:flex;align-items:center;gap:.35rem;min-width:0;padding:.48rem .55rem;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--muted);font-size:.78rem;font-weight:900;line-height:1.2}
.signup-progress li span{display:grid;place-items:center;flex:0 0 1.3rem;height:1.3rem;border-radius:999px;background:#f2f4f7;color:#475467;font-size:.72rem}
.signup-progress li.active{border-color:#9db2ff;background:var(--soft);color:#17359c}.signup-progress li.active span{background:var(--primary);color:#fff}
.signup-progress li.done{border-color:#b8dbca;background:#ecfdf3;color:#027a48}.signup-progress li.done span{background:#0f9f7a;color:#fff}
#signupForm input[readonly]{background:#f8fbff;color:#475467;border-style:dashed}.oauth-confirmed{padding:.55rem .7rem;border:1px solid #b8dbca;border-radius:12px;background:#ecfdf3;color:#027a48;font-size:.86rem;font-weight:900}.compact-hint{margin:-.45rem 0 .15rem;font-size:.8rem}
.message-time{display:inline-flex;align-items:center;padding:.12rem .38rem;border:1px solid #d7e4ff;border-radius:999px;background:#f8fbff;color:#17359c;font-variant-numeric:tabular-nums;font-weight:900;line-height:1.2}.message-meta{color:var(--muted)}
#allMemberList{gap:.24rem}#allMemberList .compact-member-group{padding:.2rem 0 .3rem}#allMemberList .compact-member-card{min-height:42px;padding:.38rem .45rem}#allMemberList .compact-member-card .type-chip{max-width:5.8rem;overflow:hidden;text-overflow:ellipsis}#allMemberList .compact-member-card button{background:#f8fbff}
@media (min-width:821px){#allMemberList .compact-member-card{grid-template-columns:minmax(0,1fr) auto}#allMemberList .compact-member-card strong{font-size:.82rem}}
@media (max-width:520px){.signup-progress{grid-template-columns:1fr}.message-time{padding:.1rem .32rem}#allMemberList .compact-member-card{grid-template-columns:minmax(0,1fr) auto}#allMemberList .compact-member-card button{width:auto}#roomParticipantList .compact-member-card>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.12rem .35rem}#roomParticipantList .compact-member-card .type-chip{max-width:5.8rem;overflow:hidden;text-overflow:ellipsis}#roomParticipantList .compact-member-card strong{font-size:.82rem}}

/* P35 messenger UX + simplified onboarding */
#login.auth-view{min-height:calc(100dvh - 88px);display:none;align-items:center;justify-content:center}
#login.auth-view.active{display:flex}
#login .auth-hero{width:min(460px,100%);grid-template-columns:1fr;justify-content:center;align-items:center;padding:clamp(1rem,3vw,1.6rem);margin:auto}
#login .auth-card{width:100%;align-self:center}
#login .session-panel:empty{display:none}
.message-attachments{display:grid;gap:.5rem;margin-top:.55rem}.attachment-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.65rem;align-items:center;padding:.55rem;border:1px solid #d7e4ff;border-radius:14px;background:#fbfdff;color:var(--ink);text-decoration:none;overflow:hidden}.attachment-card:hover{border-color:#9db2ff;background:#f3f7ff}.attachment-card strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-card small{display:block;color:var(--muted);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-preview{grid-template-columns:88px minmax(0,1fr);max-width:360px}.image-preview img{width:88px;height:66px;object-fit:cover;border-radius:11px;background:#eef4ff}.file-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#eef4ff,#fff);color:#17359c;font-size:.75rem;font-weight:900;border:1px solid #c9d6ff}.composer{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.composer #uploadBtn{grid-column:1;grid-row:1;border:1px solid #b9c9ff;background:#fff;color:#17359c;border-radius:12px;padding:.58rem .74rem;font-weight:900;min-height:38px}.composer .primary{grid-column:3;grid-row:1;height:auto;min-height:38px;padding:.55rem .82rem;border-radius:12px}.composer #messageInput{grid-column:2;grid-row:1;min-width:0;width:100%;min-height:38px;padding:.62rem .78rem}#roomParticipantList .compact-member-card,#allMemberList .compact-member-card{min-height:46px}#roomParticipantList .compact-member-card>div,#allMemberList .compact-member-card>div{min-height:32px}@media (max-width:820px){.composer{grid-template-columns:auto minmax(0,1fr) auto}.composer input,.composer .primary{grid-column:auto}.composer #uploadBtn,.composer .primary{padding:.54rem .7rem}.image-preview{grid-template-columns:76px minmax(0,1fr)}.image-preview img{width:76px;height:58px}}@media (max-width:520px){#login.auth-view{min-height:calc(100dvh - 72px)}#login .auth-hero{width:100%;padding:.85rem}.composer{grid-template-columns:auto minmax(0,1fr) auto;gap:.35rem}.composer #uploadBtn{font-size:0;padding:.52rem}.composer .primary{font-size:.9rem;padding:.52rem .62rem}.image-preview{max-width:100%}.attachment-card{padding:.48rem}}

/* P36 message ownership, room-isolated rendering, and upload affordance */
.message.own{display:flex;flex-direction:column;align-items:flex-end;margin-left:auto;margin-right:0;max-width:min(72%,560px);border-color:#b9c9ff;background:linear-gradient(135deg,#3157ff,#2447d8);color:#fff;box-shadow:0 10px 28px rgba(49,87,255,.18)}
.message.own>header{display:none!important}.message.own p,.message.own span,.message.own strong,.message.own .fold-toggle,.message.own .fold-preview,.message.own .fold-title,.message.own .message-body,.message.own .message-text{color:#fff}.message.own p{align-self:stretch;margin:.1rem 0 .2rem}.message.own .message-card,.message.own .message-fold,.message.own .message-card p,.message.own .message-card span,.message.own .message-fold .fold-toggle,.message.own .message-fold .fold-preview{align-self:stretch;color:#17359c;background:rgba(255,255,255,.96)}
.message.own .message-attachments{align-self:stretch;width:100%}.message.own .attachment-card{background:rgba(255,255,255,.95)}.message.own .message-fold .fold-title,.message.own .message-fold .fold-title strong,.message.own .message-fold .fold-title em,.message.own .message-fold .fold-action{color:#17359c}.message.own .own-message-time{margin:0;border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.18);color:#fff;font-size:.72rem;box-shadow:none}.message.own footer{display:inline-flex;align-self:flex-end;align-items:center;justify-content:flex-end;gap:.4rem;flex-wrap:nowrap;margin-top:.34rem;max-width:100%;white-space:nowrap}.message.own footer button{flex:0 0 auto;border-color:rgba(255,255,255,.38);background:rgba(255,255,255,.14);color:#fff}.message.pending{box-shadow:0 10px 30px rgba(49,87,255,.24),0 0 0 1px rgba(255,255,255,.18) inset}.message.agent,.message.system{color:var(--ink)}
.messages-loading-state{display:grid;gap:.55rem;align-content:start;padding:1rem;border:1px solid #d7e4ff;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.messages-loading-state p{margin:0;color:var(--muted);font-weight:800}.messages-loading-bar{height:.8rem;border-radius:999px;background:linear-gradient(90deg,#e8efff 0%,#cfdcff 48%,#eef4ff 100%);background-size:200% 100%;animation:messages-loading-slide 1.1s linear infinite}.messages-loading-bar.short{width:62%}
@keyframes messages-loading-slide{0%{background-position:200% 0}100%{background-position:-200% 0}}
.upload-status{overflow-wrap:anywhere}.attach-tray .chip{max-width:100%;overflow:hidden}.attach-tray .chip>*{min-width:0}
@media (max-width:820px){.message.own{max-width:82%;margin-left:auto!important;margin-right:0!important}.message:not(.own){max-width:100%}.message.own p{font-size:.94rem}}
@media (max-width:390px){.message.own{max-width:88%;border-radius:15px}.message.own .own-message-time{font-size:.68rem}.message.own footer{gap:.32rem}}

/* P37 previous-message lazy loading indicator */
.older-messages-loading{position:sticky;top:.25rem;z-index:2;display:flex;align-items:center;justify-content:center;gap:.5rem;width:max-content;max-width:calc(100% - 1rem);margin:0 auto .75rem;padding:.48rem .8rem;border:1px solid #c9d6ff;border-radius:999px;background:rgba(255,255,255,.94);color:#17359c;font-size:.82rem;font-weight:900;box-shadow:0 10px 24px rgba(20,35,80,.12);backdrop-filter:blur(10px)}
.older-loading-spinner{display:inline-block;width:1rem;height:1rem;border-radius:999px;border:2px solid #d7e4ff;border-top-color:var(--primary);animation:p37-spin .72s linear infinite}.messages.is-loading-older{scrollbar-color:#9db2ff #eef4ff}
@keyframes p37-spin{to{transform:rotate(360deg)}}
@media (max-width:390px){.older-messages-loading{top:.15rem;padding:.42rem .68rem;font-size:.78rem}.older-loading-spinner{width:.9rem;height:.9rem}}

/* P39 member panel reorder + removed messenger helper chrome */
#messenger > .section-head,#messenger-rooms > p,#messenger-members > div.note,#messenger-chat > p,.topbar .nav[data-view="projects"]{display:none!important}
#messenger .messenger.card{margin-top:0}
#messenger-rooms{gap:.7rem}
#messenger-rooms>section.sidebar-section{border:0;box-shadow:none;background:transparent;padding:.15rem 0 .2rem;border-radius:0}
#messenger-rooms>section.sidebar-section.sidebar-members-section,#messenger-rooms>section.sidebar-section.sidebar-rooms-section,#messenger-rooms>section.sidebar-section.sidebar-team-section{border:0;box-shadow:none;background:transparent;padding:.1rem 0 .25rem}
.members-pane{display:flex;flex-direction:column;gap:.65rem;min-height:0;align-content:flex-start;justify-content:flex-start;align-items:stretch}
.members-pane>.member-section{display:flex;flex-direction:column;flex:0 0 auto;gap:.45rem;margin-top:0;min-height:0;align-self:stretch;align-content:flex-start;justify-content:flex-start;align-items:stretch}
.members-pane>.member-section-current{order:1}
.members-pane>.member-section-all{order:2}
.member-section-all{display:grid;gap:.45rem}
.member-section-all>#memberSearch{width:100%}
.member-section-all>#memberTypeFilters{margin:.15rem 0 .35rem}
.member-section-current>#roomParticipantList{flex:0 1 auto;min-height:0;max-height:clamp(11rem,32vh,24rem);overflow:auto;grid-auto-rows:max-content;align-content:start;align-items:start;overscroll-behavior:contain}
@media (min-width:821px){
  .members-pane>.member-section-current{flex:0 0 auto;min-height:0}
  .members-pane>.member-section-all{flex:1 1 auto;min-height:0;overflow:hidden}
  .member-section-all>#memberSearch,.member-section-all>#memberTypeFilters{flex:0 0 auto}
  .member-section-all>#allMemberList{flex:1 1 auto;min-height:0;overflow:auto;padding-right:.15rem;overscroll-behavior:contain}
  .member-section-current>#roomParticipantList{padding-right:.15rem}
}
@media (max-width:1180px){
  .members-pane>h2,.members-pane>.member-section-current,.members-pane>.member-section-all{grid-column:1/-1}
}
@media (max-width:820px){
  .members-pane.mobile-pane-active{display:grid!important;gap:.65rem}
  .member-section-all>#memberTypeFilters{margin:.2rem 0 .4rem}
}

/* P43 signup auth-copy removal: keep the signup card centered after removing the copy column. */
#signup.auth-view{min-height:calc(100dvh - 88px);display:none;align-items:center;justify-content:center}
#signup.auth-view.active{display:flex}
#signup .auth-hero{width:min(520px,100%);grid-template-columns:minmax(320px,520px);justify-content:center;align-items:center;padding:clamp(1rem,3vw,1.6rem);margin:auto}
#signup .auth-card{width:100%;justify-self:center;align-self:center}
@media (max-width:520px){#signup.auth-view{min-height:calc(100dvh - 72px)}#signup .auth-hero{width:100%;grid-template-columns:minmax(0,1fr);padding:.85rem;margin:0 auto}}

/* P47 non-blocking Agent processing UX + duplicate-draft guard */
.composer.is-processing{position:relative;border-color:#9db2ff;background:linear-gradient(135deg,#fbfdff,#eef4ff);box-shadow:0 0 0 4px rgba(49,87,255,.08)}
.composer.is-processing:after{content:'Agent 처리 중 · 입력 가능';position:absolute;right:.5rem;top:-.7rem;padding:.18rem .48rem;border-radius:999px;background:#17359c;color:#fff;font-size:.72rem;font-weight:900;box-shadow:0 8px 18px rgba(20,35,80,.14)}
.composer.is-processing button,.composer.is-processing input{cursor:auto;opacity:1}
.agent-processing-status{display:flex;align-items:center;gap:.5rem;width:max-content;max-width:100%;padding:.48rem .72rem;border:1px solid #c9d6ff;border-radius:999px;background:#eef4ff;color:#17359c;font-size:.84rem;font-weight:900;box-shadow:0 8px 20px rgba(20,35,80,.08)}
.agent-processing-status:before{content:'';display:inline-block;width:.82rem;height:.82rem;border-radius:999px;border:2px solid #c9d6ff;border-top-color:var(--primary);animation:p47-agent-spin .72s linear infinite}
.failed-draft{border:1px solid #ffd0d7;background:#fff1f3;color:var(--bad)}
.failed-draft button{color:var(--bad)}
@keyframes p47-agent-spin{to{transform:rotate(360deg)}}

/* P51 latest-message entry focus: mark newest row without stealing composer usability after entry/realtime refreshes. */
.message.is-latest{position:relative;border-color:#8ba8ff;box-shadow:0 0 0 2px rgba(49,87,255,.10),0 10px 28px rgba(20,35,80,.10)}
.message.is-latest:before{content:'최신';position:absolute;right:.65rem;top:-.62rem;padding:.13rem .44rem;border:1px solid #b9c9ff;border-radius:999px;background:#fff;color:#17359c;font-size:.68rem;font-weight:900;line-height:1.2;box-shadow:0 6px 16px rgba(20,35,80,.10)}
.message.is-latest.own:before{border-color:rgba(255,255,255,.38);background:rgba(255,255,255,.94);color:#17359c}
.message:focus-visible{outline:3px solid #93b4ff;outline-offset:3px}
@media (max-width:390px){.message.is-latest:before{right:.45rem;top:-.55rem;font-size:.64rem}}

/* t_4556c0e6 unread room list structure (visual unread emphasis is limited to the status dot). */
.room-card.unread{grid-template-columns:auto minmax(0,1fr) auto}
.room-card.unread:before{content:none;display:none}
.room-card.read{opacity:.92}
.room-card .room-unread-badge{grid-column:3;grid-row:1;display:inline-grid;place-items:center;min-width:1.65rem;height:1.65rem;padding:0 .45rem;border-radius:999px;background:#f2f4f7;color:#667085;font-size:.76rem;font-weight:950;font-variant-numeric:tabular-nums;box-shadow:none}
.room-card .room-unread-badge.is-zero{background:#f2f4f7;color:#667085;box-shadow:none;font-size:.68rem}
.room-card small{grid-column:2/4}
.room-read-state{font-weight:900;color:#667085}.room-card.read .room-read-state{color:#667085}.room-preview{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.room-card.selected.unread{border-color:#7f9cff;background:linear-gradient(135deg,#fff,#eef4ff)}
@media (max-width:520px){.room-card.unread,.room-card{grid-template-columns:minmax(0,1fr) auto}.room-card .type-chip{grid-column:1;grid-row:1}.room-card strong{grid-column:1/-1}.room-card .room-unread-badge{grid-column:2;grid-row:1}.room-card small{grid-column:1/-1}.room-card.unread:before{content:none;display:none}}

/* t_423a9650 design-system token application from artifacts/t_917badfc */
:root{
  --color-bg:#f5f7fb;--color-surface:#fff;--color-surface-subtle:#fbfdff;--color-text:#182033;--color-text-muted:#667085;--color-border:#d8e0ee;
  --color-primary:#3157ff;--color-primary-hover:#1d37a8;--color-primary-text:#17359c;--color-soft:#eef4ff;
  --color-success:#0f9f7a;--color-success-bg:#ecfdf3;--color-warning:#bd6b00;--color-warning-bg:#fffbeb;--color-danger:#d13045;--color-danger-bg:#fff1f3;
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;
  --radius-sm:12px;--radius-md:16px;--radius-lg:20px;--radius-xl:24px;--radius-pill:999px;
  --shadow-card:0 16px 45px rgba(20,35,80,.12);--shadow-card-strong:0 22px 65px rgba(20,35,80,.14);--shadow-modal:0 30px 90px rgba(20,35,80,.28);--shadow-focus:0 0 0 4px rgba(49,87,255,.12);
  --focus-ring:#93b4ff;
  --bg:var(--color-bg);--panel:var(--color-surface);--ink:var(--color-text);--muted:var(--color-text-muted);--line:var(--color-border);--primary:var(--color-primary);--primary-dark:var(--color-primary-hover);--ok:var(--color-success);--warn:var(--color-warning);--bad:var(--color-danger);--soft:var(--color-soft);--shadow:var(--shadow-card);
}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;box-shadow:var(--shadow-focus)}
.view:focus-visible{outline:none;box-shadow:none}
.gap-sm{gap:.5rem}
.pane,.pane-sidebar,.pane-main,.pane-details{min-width:0;min-height:0}
.sidebar-team-card,.sidebar-member-card{display:grid;gap:.45rem}
.card,.panel,.messenger aside,.chat header,.messages,.item,.stats div,.ops-card,.ops-row,.matrix-row,.audit div{border-color:var(--color-border)}
.card{border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:rgba(255,255,255,.96)}
.auth-card-head{gap:var(--space-2)}
#login .auth-card-head{display:grid;justify-content:flex-start;gap:var(--space-2)}
#login .auth-card-head .eyebrow{margin:0 0 var(--space-1)}
#loginTitle{margin:0;font-size:clamp(1.9rem,3.2vw,2.35rem);letter-spacing:-.04em;line-height:1.12}
#login .auth-card-head + .auth-mode-panel{margin-top:var(--space-3)}
#sessionPanel{margin-top:0}
.primary{min-height:44px;border-radius:var(--radius-sm);background:var(--color-primary);font-weight:900;letter-spacing:-.01em}.primary:hover{background:var(--color-primary-hover)}
.ghost,.nav{border-color:var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface)}.nav.active,.nav:hover,.ghost:hover{background:var(--color-soft);border-color:#b9c9ff;color:var(--color-primary-text)}
.badge{border-radius:var(--radius-pill);font-weight:900}.badge.ok{background:var(--color-soft);color:var(--color-primary-text)}.badge.muted{background:#f2f4f7;color:#475467}
.statusbar,.upload-status,.oauth-confirmed{background:var(--color-success-bg);border-color:#b8dbca;color:#027a48}.statusbar.bad,.upload-status.bad,.failed-draft{background:var(--color-danger-bg);border-color:#ffd0d7;color:var(--color-danger)}
.messenger.card{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,249,255,.97));border-radius:var(--radius-lg);box-shadow:var(--shadow-card-strong)}
.messenger aside{background:var(--color-surface-subtle);border-radius:var(--radius-md)}.chat header{border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-surface),var(--color-soft))}.messages{border-radius:var(--radius-md);background:linear-gradient(180deg,#f8fbff,#f3f7ff)}
.filter-row button{min-height:36px;border-color:var(--color-border);border-radius:var(--radius-pill);font-weight:900}.filter-row button.active,.filter-row button[aria-pressed="true"]{border-color:#9db2ff;background:var(--color-soft);color:var(--color-primary-text)}
.room-card{border-radius:14px;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.room-card.selected,.room-card[aria-current="true"]{border-color:#7f9cff;background:linear-gradient(135deg,var(--color-surface),var(--color-soft));box-shadow:0 12px 28px rgba(49,87,255,.14)}.room-card.unread{background:var(--color-surface)}.room-card .room-unread-badge{min-width:1.65rem;height:1.65rem}
.message{border-radius:15px;overflow-wrap:anywhere}.message.own{background:linear-gradient(135deg,var(--color-primary),#2447d8);border-color:#b9c9ff;color:#fff}.message.system{background:var(--color-warning-bg);border-style:solid}.message.is-latest{border-color:#8ba8ff;box-shadow:0 0 0 2px rgba(49,87,255,.10),0 10px 28px rgba(20,35,80,.10)}
.composer{align-items:center}.composer #uploadBtn,.composer .primary,.composer #messageInput{min-height:44px}.composer #uploadBtn{border-color:#b9c9ff;color:var(--color-primary-text);font-weight:900}.composer.is-processing{border-color:#9db2ff;background:linear-gradient(135deg,#fbfdff,var(--color-soft))}
.modal-card{border-radius:22px;box-shadow:var(--shadow-modal)}.modal-actions button{min-height:44px}
.messenger-tabs{border-radius:var(--radius-md)}.messenger-tabs button{min-height:44px}.messenger-tabs button.active,.messenger-tabs button[aria-selected="true"]{border-color:#9db2ff;background:var(--color-soft);color:var(--color-primary-text)}
@media (min-width:821px){.messenger>[hidden]{display:flex!important}.messenger>.chat[hidden]{display:grid!important}}
@media (max-width:820px){.messenger>[hidden]{display:none!important}.messenger.card{grid-template-areas:"tabs" "chat" "rooms" "members"}.messenger-tabs{position:sticky;top:0}.chat.mobile-pane-active{grid-template-rows:auto minmax(260px,calc(100dvh - 390px)) auto auto}.composer{grid-template-columns:auto minmax(0,1fr) auto}.composer input,.composer .primary{grid-column:auto}.rooms-pane.mobile-pane-active,.chat.mobile-pane-active,.members-pane.mobile-pane-active{min-width:0}}
@media (max-width:520px){.signup-progress{grid-template-columns:1fr}.topbar{grid-template-columns:minmax(0,1fr)}.composer #uploadBtn,.composer .primary{padding:.54rem .68rem}.session .badge{max-width:65vw;overflow:hidden;text-overflow:ellipsis}}

/* t_f0a09bae logo routing + simplified unread-first room cards */
.brand{border:0;border-radius:14px;padding:.2rem .35rem;background:transparent;color:inherit;cursor:pointer;min-width:0}
.brand:hover{background:var(--color-soft,#eef4ff)}
.brand:focus-visible{outline:3px solid var(--focus-ring,#93b4ff);outline-offset:3px;box-shadow:var(--shadow-focus,0 0 0 4px rgba(49,87,255,.12))}
.room-card{grid-template-columns:minmax(0,1fr) auto;gap:.24rem .5rem;align-items:center}
.room-card strong{grid-column:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.room-card .room-unread-badge{grid-column:2;grid-row:1;align-self:center}
.room-card .room-read-state{grid-column:1/3;width:max-content;max-width:100%;padding:.14rem .46rem;border-radius:999px;background:#f2f4f7;color:#667085;font-size:.74rem;font-weight:950;line-height:1.25}
.room-card.unread .room-read-state{background:#f2f4f7;color:#667085}
.room-card time,.room-card>.type-chip,.room-card .room-preview{display:none!important}
@media (max-width:520px){.room-card,.room-card.unread{grid-template-columns:minmax(0,1fr) auto}.room-card strong{grid-column:1}.room-card .room-unread-badge{grid-column:2;grid-row:1}.room-card .room-read-state{grid-column:1/-1}}


/* t_3f485756 user-facing error route/recovery UI */
.app-error-view{max-width:960px;min-height:calc(100dvh - 120px);display:none;place-items:center;padding:clamp(1rem,4vw,2rem)}
.app-error-view.active{display:grid}
.app-error-card{width:min(680px,100%);display:grid;gap:.85rem;text-align:left;border-color:#ffd0d7;background:linear-gradient(180deg,#fff,#fff7f8)}
.app-error-card h1{margin:.1rem 0;font-size:clamp(1.7rem,4vw,2.6rem);letter-spacing:-.04em}
.app-error-card p{margin:.05rem 0;color:var(--muted)}
.error-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.35rem}
.error-actions button{min-height:44px}
.inline-error{display:grid;gap:.45rem;align-content:center;justify-items:start;min-height:180px;padding:1rem;border:1px solid #ffd0d7;border-radius:16px;background:#fff1f3;color:var(--bad)}
.inline-error p{margin:0;color:#7a2330}.inline-error strong{font-size:1rem}
@media (max-width:520px){.app-error-view{min-height:calc(100dvh - 80px);padding:.75rem}.error-actions{display:grid;width:100%}.error-actions button{width:100%}}

/* t_8908186a/t_c3828c27 compact room status-dot cards: unread uses only the green dot, never orange card chrome. */
.room-card{grid-template-columns:auto minmax(0,1fr);gap:.28rem .52rem;align-items:center;min-height:42px;padding:.48rem .58rem}
.room-card strong{grid-column:2;line-height:1.22;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.room-status-dot{grid-column:1;grid-row:1;display:inline-block;width:.72rem;height:.72rem;border-radius:999px;background:#98a2b3;box-shadow:0 0 0 3px rgba(152,162,179,.16);justify-self:center;align-self:center;flex:0 0 auto}
.room-card.unread{border-color:var(--color-border,#d8e0ee);background:var(--color-surface,#fff);box-shadow:none}
.room-card.unread:before{content:none!important;display:none!important}
.room-card.unread strong{color:inherit;font-weight:900}
.room-card.unread .room-status-dot{background:#12b76a;box-shadow:0 0 0 3px rgba(18,183,106,.18),0 6px 14px rgba(18,183,106,.22)}
.room-card.read{background:#fff;opacity:.96}
.room-card.read .room-status-dot{background:#98a2b3;box-shadow:0 0 0 3px rgba(152,162,179,.16)}
.room-card .room-unread-badge,.room-card .room-read-state{display:none!important}
.room-card.selected,.room-card[aria-current="true"]{border-color:#7f9cff;background:linear-gradient(135deg,var(--color-surface,#fff),var(--color-soft,#eef4ff));box-shadow:0 10px 24px rgba(49,87,255,.13)}
.room-card.selected.unread,.room-card.unread[aria-current="true"]{border-color:#7f9cff;background:linear-gradient(135deg,var(--color-surface,#fff),var(--color-soft,#eef4ff));box-shadow:0 10px 24px rgba(49,87,255,.13)}
.room-card.unread:hover:not(.selected):not([aria-current="true"]),.room-card.unread:active:not(.selected):not([aria-current="true"]){border-color:var(--color-border,#d8e0ee);background:var(--color-surface,#fff);box-shadow:0 10px 24px rgba(20,35,80,.09)}
@media (max-width:520px){.room-card,.room-card.unread{grid-template-columns:auto minmax(0,1fr);min-height:40px;padding:.46rem .54rem}.room-card strong{grid-column:2}.room-status-dot{grid-column:1;width:.68rem;height:.68rem}}

/* t_91b7d759 messenger UI cleanup + role-specific tab/header/layout polish */
.topbar{grid-template-columns:218px minmax(0,1fr) auto;gap:.6rem;padding:.42rem .75rem}
.brand{gap:.5rem}.brand span{width:30px;height:30px;border-radius:10px}.brand small{font-size:.7rem}
nav{gap:.24rem}.nav,.ghost{padding:.34rem .52rem}.session{gap:.34rem}.badge{padding:.28rem .48rem}
.is-user .topbar{grid-template-columns:minmax(0,1fr) auto}.is-user nav{display:none!important}.is-user .brand small{display:none}
.members-pane .member-section>h3:before{display:none!important;content:none!important}
#attachTray.hidden{display:none!important}
#messages.is-empty{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-content:center;
  justify-items:center;
  width:100%;
  min-width:0;
}
#messages.is-empty > .empty{
  width:min(100%,34rem);
  margin:0;
}
#messenger .chat header{padding:.55rem .7rem}
#messenger .chat header h2{margin:0;font-size:1.08rem;line-height:1.22}
@media (min-width:821px){
  #messenger.view{padding-top:.55rem;padding-bottom:.55rem}
  #messenger .messenger.card{min-height:calc(100dvh - 76px);align-items:stretch}
  #messenger .messenger>.rooms-pane,#messenger .messenger>.members-pane{max-height:calc(100dvh - 100px)}
  #messenger .chat{max-height:calc(100dvh - 100px);grid-template-rows:auto minmax(460px,1fr) auto auto}
  #messenger .messages{min-height:460px}
}
@media (max-width:640px){.topbar{padding:.55rem .65rem}.brand span{width:32px;height:32px}}

/* t_ccb04980 system messages: centered status-style notices between left/right chat bubbles */
.messages .message.system{
  display:grid;
  justify-items:center;
  width:fit-content;
  max-width:min(72%,34rem);
  margin:.7rem auto;
  padding:.58rem .82rem;
  border-color:#f4c27a;
  border-style:solid;
  border-radius:15px;
  background:linear-gradient(135deg,#fffaf0,#fffdf7);
  color:#7a3f00;
  text-align:center;
  box-shadow:0 8px 22px rgba(189,107,0,.10);
}
.messages .message.system header{justify-content:center;width:100%;gap:.35rem}
.messages .message.system header>span{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;flex-wrap:wrap}
.messages .message.system header strong{display:none}
.messages .message.system p{margin:.16rem 0 0;color:#7a3f00;font-size:.9rem;line-height:1.45}
.messages .message.system footer{display:none}
.messages .message.system .message-time{border-color:#f4c27a;background:#fff;color:#92400e}
@media (max-width:820px){.messages .message.system{max-width:min(92%,34rem);margin:.65rem auto!important}.messages .message.system p{font-size:.86rem}}

/* t_26299a1b system message width: centered, expanded status notices without narrow chips */
#messages .message:not(.own):not(.system){margin-left:0;margin-right:auto;text-align:left}
#messages .message.own{margin-left:auto;margin-right:0;text-align:left}
#messages .message.system{width:fit-content;max-width:min(88%,720px);margin-left:auto;margin-right:auto;text-align:center;border-style:solid;border-radius:15px;background:var(--color-warning-bg,#fffbeb);line-height:1.55;white-space:normal}
#messages .message.system header,#messages .message.system footer{justify-content:center}
#messages .message.system p{max-width:100%;line-height:1.58;white-space:normal;overflow-wrap:anywhere;word-break:keep-all}
@media (max-width:820px){
  #messages .message.system{max-width:min(96%,560px);margin-left:auto!important;margin-right:auto!important;text-align:center}
  #messages .message{max-width:min(92%,620px)}
  #messages .message:not(.own):not(.system){margin-left:0!important;margin-right:auto!important}
  #messages .message.own{max-width:min(86%,560px);margin-left:auto!important;margin-right:0!important}
}
@media (max-width:390px){#messages .message.system{max-width:96%;padding:.62rem .68rem}}

/* t_45b34e6e Project Agent handoff sender identity */
:root{
  --role-project-agent-bg:#f4f3ff;
  --role-project-agent-text:#5925dc;
  --role-project-agent-border:#d9d6fe;
  --role-pm-agent-bg:#eef4ff;
  --role-pm-agent-text:#17359c;
  --role-pm-agent-border:#c7d7fe;
}
.type-chip.project,.type-chip.project-agent{background:var(--role-project-agent-bg);color:var(--role-project-agent-text);border:1px solid var(--role-project-agent-border)}
.type-chip.pm-agent{background:var(--role-pm-agent-bg);color:var(--role-pm-agent-text);border:1px solid var(--role-pm-agent-border)}
.message.agent .sender-name{color:#1f2a44;letter-spacing:-.01em}
.message.agent .type-chip.project-agent{box-shadow:inset 0 0 0 1px rgba(89,37,220,.08)}

/* t_45b34e6e Project Agent sender identity in PM team room */
.message header{align-items:flex-start}
.message-avatar{display:inline-grid;place-items:center;flex:0 0 2rem;width:2rem;height:2rem;border-radius:999px;background:#eef4ff;color:#17359c;border:1px solid #c9d6ff;font-size:.72rem;font-weight:950;line-height:1;text-transform:uppercase}
.message-avatar.agent{background:#f4f3ff;color:#5925dc;border-color:#d9d6fe}
.message-header-main{display:grid;gap:.22rem;min-width:0;flex:1 1 auto}
.message-header-main .sender-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.message-meta{display:flex;align-items:center;gap:.32rem;flex-wrap:wrap;color:var(--muted)}
.type-chip.pm-agent{background:#eef4ff;color:#17359c}.type-chip.project-agent{background:#f4f3ff;color:#5925dc}
@media (max-width:520px){.message-avatar{width:1.75rem;height:1.75rem;flex-basis:1.75rem;font-size:.66rem}.message-header-main .sender-name{white-space:normal}}

/* t_58f40c85/t_7b8b349e message header timestamp alignment + t_45c41f8f sender-name flexible width: avatar, sender, meta stay on one row and only the sent time is pushed right. */
#messages .message:not(.own) header{width:100%;min-width:0}
#messages .message:not(.own):not(.system) header{justify-content:flex-start;align-items:center;flex-wrap:nowrap;min-width:0;overflow:hidden}
#messages .message:not(.own):not(.system) .message-avatar{flex:0 0 2rem}
#messages .message:not(.own):not(.system) .message-header-main{display:flex;align-items:center;flex-wrap:nowrap;gap:.32rem;width:100%;min-width:0;flex:1 1 auto;overflow:hidden}
#messages .message:not(.own):not(.system) .message-header-main .sender-name{flex:0 1 auto;min-width:0;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#messages .message:not(.own):not(.system) .message-meta{display:flex;width:auto;flex:1 0 auto;min-width:max-content;align-items:center;gap:.32rem;flex-wrap:nowrap}
#messages .message:not(.own):not(.system) .message-meta .type-chip{flex:0 1 auto;min-width:0;max-width:min(10rem,30vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#messages .message:not(.own):not(.system) .message-meta .message-time{flex:0 0 auto;margin-left:auto;white-space:nowrap}
@media (max-width:520px){
  #messages .message:not(.own):not(.system) .message-avatar{flex-basis:1.75rem}
  #messages .message:not(.own):not(.system) .message-header-main{gap:.26rem}
  #messages .message:not(.own):not(.system) .message-meta{gap:.24rem}
}

/* t_557f4ffc + t_78a437fe message hover/focus quick actions: reply/emoji are available for non-system messages, own messages add edit/delete, and the floating bar stays reachable while moving the pointer or keyboard focus into it. */
#messages .message{position:relative;overflow:visible}
#messages .message.hover-actions{--message-action-offset:.34rem;--message-action-gap:.42rem;--message-action-bridge:.84rem;--message-action-rest-lift:.12rem;--message-action-max-width:min(100%,34rem)}
#messages .message.hover-actions.own{--message-action-side:var(--message-action-offset,.34rem);--message-action-side-opposite:auto}
#messages .message.hover-actions:not(.own){--message-action-side:auto;--message-action-side-opposite:var(--message-action-offset,.34rem)}
.message-action-bar{position:absolute;top:0;left:var(--message-action-side,var(--message-action-offset,.46rem));right:var(--message-action-side-opposite,auto);z-index:8;display:flex;flex-wrap:wrap;justify-content:flex-start;max-width:var(--message-action-max-width,calc(100% - (var(--message-action-offset,.46rem) * 2)));width:max-content;min-height:2.25rem;gap:.28rem;align-items:center;padding:.16rem .2rem;border:1px solid rgba(216,224,238,.92);border-radius:999px;background:rgba(255,255,255,.96);box-shadow:0 10px 26px rgba(20,35,80,.18);transform:translateY(calc(-100% - var(--message-action-gap,.42rem) - var(--message-action-rest-lift,.12rem)));opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease}
.message-action-bar::before{content:"";position:absolute;left:0;right:0;top:100%;bottom:calc(var(--message-action-bridge,.84rem) * -1)}
.message-action-bar > *,
.message-action-bar .message-reaction-bar,
.message-action-bar .message-reaction-bar > *{pointer-events:auto}
#messages .message.hover-actions:is(:hover,:focus-within) .message-action-bar,
#messages .message.hover-actions.action-bar-active .message-action-bar,
#messages .message.hover-actions:has(.message-action-bar:hover) .message-action-bar,
#messages .message.hover-actions:has(.message-action-bar:focus-within) .message-action-bar,
.message-action-bar:hover,
.message-action-bar:focus-within{opacity:1;pointer-events:auto;transform:translateY(calc(-100% - var(--message-action-gap,.42rem)))}
.message-icon-action{position:relative;z-index:1;display:grid;place-items:center;width:2rem;height:2rem;border:1px solid rgba(201,214,255,.9);border-radius:999px;background:#fff;color:#17359c;font-size:.98rem;font-weight:950;line-height:1;box-shadow:0 4px 12px rgba(20,35,80,.10)}
.message-icon-action:hover,.message-icon-action:focus-visible{background:#fff;border-color:#9db2ff;color:var(--primary-dark)}
.message-icon-action.action-reply{background:#eef4ff;border-color:#c9d6ff;color:#17359c}
.message-icon-action.danger{color:#b42318}.message-icon-action.danger:hover,.message-icon-action.danger:focus-visible{border-color:#fda29b;background:#fff7f7;color:#912018}
.message-action-bar .message-reaction-bar{display:flex;flex-wrap:wrap;gap:.24rem;align-items:center;min-width:0}
.message-action-bar .message-reaction-chip{min-height:2rem;padding:.18rem .44rem;border-color:rgba(201,214,255,.9);box-shadow:0 4px 12px rgba(20,35,80,.08)}
.message-action-bar .message-reaction-chip strong{font-size:.68rem}
.message-footer{display:flex;align-items:center;justify-content:flex-end;gap:.42rem;flex-wrap:wrap;min-width:0;max-width:100%}
.message-footer.has-reactions{margin-top:.48rem}
.message-pending-badge{display:inline-flex;align-items:center;border:1px dashed rgba(255,255,255,.42);border-radius:999px;padding:.12rem .46rem;background:rgba(255,255,255,.14);color:#fff;font-size:.72rem;font-weight:900;line-height:1.2;letter-spacing:-.01em}
.message-footer .message-reaction-summary{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;min-width:0;max-width:100%}
.message-footer .message-reaction-chip{min-height:1.85rem;padding:.16rem .5rem;border-color:rgba(124,156,255,.24);background:rgba(255,255,255,.92);box-shadow:none}
.message-footer .message-reaction-chip strong{font-size:.72rem}
.message:not(.own) .message-footer{justify-content:flex-start}
.message:not(.own) .message-footer .message-reaction-chip:hover,.message:not(.own) .message-footer .message-reaction-chip:focus-visible{border-color:rgba(124,156,255,.5);background:rgba(124,156,255,.12);color:var(--accent)}
.message.own .message-footer{justify-content:flex-end;align-self:stretch;white-space:normal}
.message.own .message-footer.has-reactions{justify-content:space-between}
.message.own .message-footer .message-reaction-summary{justify-content:flex-end}
.message.own .message-footer.has-reactions .own-message-time{margin-left:auto}
.message.own .message-footer.has-reactions .message-pending-badge{margin-left:auto}
.message.own .message-footer.has-reactions .message-reaction-summary + .message-pending-badge{margin-left:0}
.message.own .message-footer .message-reaction-chip{border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.16);color:#fff}
.message.own .message-footer .message-reaction-chip strong{color:rgba(255,255,255,.82)}
.message-inline-editor{align-self:stretch;display:grid;gap:.5rem;width:100%;min-width:min(18rem,100%)}
.message-inline-editor textarea{width:100%;min-height:6rem;border:1px solid rgba(255,255,255,.48);border-radius:14px;padding:.72rem .82rem;resize:vertical;background:#fff;color:var(--ink);box-shadow:inset 0 1px 2px rgba(20,35,80,.08)}
.message-inline-actions{display:flex;justify-content:flex-end;align-items:center;gap:.38rem;flex-wrap:wrap}.message-inline-actions .message-edit-action{display:inline-flex;align-items:center;justify-content:center;min-width:0;height:32px;min-height:32px;padding:.32rem .68rem;border:1px solid rgba(255,255,255,.34);border-radius:10px;font-size:.82rem;font-weight:900;line-height:1.1;letter-spacing:-.01em;box-shadow:none;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.message-inline-actions .message-edit-action:focus{outline:3px solid var(--focus-ring,#93b4ff);outline-offset:2px;box-shadow:0 0 0 4px rgba(255,255,255,.24)}.message-inline-actions .message-edit-action.primary{background:#fff;color:var(--color-primary-text,#17359c);border-color:rgba(255,255,255,.86)}.message-inline-actions .message-edit-action.primary:hover:not(:disabled),.message-inline-actions .message-edit-action.primary:focus-visible{background:#eef4ff;border-color:#fff;color:var(--color-primary-hover,#1d37a8)}.message-inline-actions .message-edit-action.secondary{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.34)}.message-inline-actions .message-edit-action.secondary:hover:not(:disabled),.message-inline-actions .message-edit-action.secondary:focus-visible{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.72);color:#fff}.message-inline-actions .message-edit-action:disabled{cursor:not-allowed;opacity:.72}
.message-edited-badge{display:inline-flex;align-items:center;border:1px solid rgba(102,112,133,.25);border-radius:999px;padding:.12rem .42rem;background:rgba(255,255,255,.82);color:var(--muted);font-size:.72rem;font-weight:900}
@media (max-width:760px){#messages .message.hover-actions{--message-action-offset:max(.28rem,env(safe-area-inset-left));--message-action-gap:.34rem;--message-action-bridge:.72rem;--message-action-rest-lift:.1rem;--message-action-max-width:calc(100% - (.28rem * 2))}.message-action-bar{gap:.22rem;max-width:var(--message-action-max-width)}.message-action-bar .message-reaction-bar{gap:.2rem}.message-icon-action{width:1.85rem;height:1.85rem}.message-action-bar .message-reaction-chip{min-height:1.85rem;padding:.16rem .38rem;font-size:.84rem}.message-footer{gap:.34rem}.message-footer .message-reaction-summary{gap:.24rem}.message-footer .message-reaction-chip{min-height:1.72rem;padding:.14rem .42rem;font-size:.84rem}.message-inline-actions{display:flex;justify-content:flex-end;gap:.32rem}.message-inline-actions .message-edit-action{width:auto;height:30px;min-height:30px;padding:.28rem .62rem;font-size:.78rem;border-radius:10px}}

/* t_3eea133b header brand/nav/session flex bounds: long brand text must not push nav or logout controls. */
body > header.topbar{
  grid-template-columns:minmax(0,clamp(150px,18vw,218px)) minmax(0,1fr) auto;
  min-width:0;
  overflow:hidden;
}
body > header.topbar > .brand{
  width:100%;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  flex:1 1 auto;
  align-self:center;
}
body > header.topbar > .brand > span{
  flex:0 0 auto;
}
body > header.topbar > .brand > div{
  min-width:0;
  max-width:100%;
  overflow:hidden;
}
body > header.topbar > .brand strong,
body > header.topbar > .brand small{
  display:block;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body > header.topbar > nav{
  min-width:0;
  max-width:100%;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
}
body > header.topbar > nav .nav{
  flex:0 0 auto;
  white-space:nowrap;
}
body > header.topbar > .session{
  min-width:0;
  max-width:100%;
  flex:0 1 auto;
  justify-content:flex-end;
}
body > header.topbar > .session .badge{
  min-width:0;
  max-width:clamp(8rem,18vw,14rem);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
header.topbar.app-topbar{grid-template-columns:minmax(0,1fr)!important}
header.topbar.app-topbar>.app-topbar-inner{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:.85rem;min-width:0;width:100%;max-width:none}
.app-topbar-inner>.brand{min-width:0;flex:1 1 auto}
.app-topbar-inner>.brand>div:last-child{min-width:0}
.topbar-session-controls{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;min-width:max-content}
#sessionBadge{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#logoutBtn{
  flex:0 0 auto;
  white-space:nowrap;
}
body.is-user > header.topbar{
  grid-template-columns:minmax(0,clamp(150px,24vw,218px)) auto;
}
@media (max-width:640px){
  body > header.topbar,
  body.is-authenticated > header.topbar,
  body.is-user > header.topbar,
  body:not(.is-authenticated) > header.topbar{
    grid-template-columns:minmax(0,1fr);
  }
  body > header.topbar > .brand{
    width:100%;
  }
  body > header.topbar > .session .badge{
    max-width:min(65vw,18rem);
  }
}

/* t_c9157abf all-member width cap + logout ghost neutralization */
#allMemberList > section > h3,
#allMemberList > section > div{
  width:min(100%,28rem);
  max-width:28rem;
  justify-self:start;
}
#logoutBtn,
#logoutBtn:hover,
#logoutBtn:focus-visible{
  border:0;
  background:transparent;
  color:var(--ink);
}

/* t_091a386f admin globalStatus header placement: compact status pill between nav and session controls. */
body.is-admin > header.topbar{
  grid-template-columns:minmax(0,clamp(150px,18vw,218px)) minmax(0,1fr) minmax(10rem,clamp(12rem,18vw,18rem)) auto;
}
body > header.topbar > #globalStatus.statusbar,
body > header.topbar > .header-status{
  align-self:center;
  justify-self:stretch;
  min-width:0;
  max-width:100%;
  margin:0;
  padding:.3rem .58rem;
  border-radius:999px;
  font-size:.78rem;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  box-shadow:none;
}
body > header.topbar > #globalStatus.statusbar:before,
body > header.topbar > .header-status:before{
  content:'';
  display:inline-block;
  width:.48rem;
  height:.48rem;
  margin-right:.35rem;
  border-radius:999px;
  background:currentColor;
  vertical-align:.06rem;
}
body > header.topbar > #globalStatus.statusbar.hidden{
  display:none!important;
}
@media (max-width:960px){
  body.is-admin > header.topbar{
    grid-template-columns:minmax(0,1fr) auto;
  }
  body.is-admin > header.topbar > nav{
    grid-column:1/-1;
    order:3;
  }
  body.is-admin > header.topbar > #globalStatus.statusbar{
    order:2;
    justify-self:end;
    width:max-content;
    max-width:min(42vw,18rem);
  }
  body.is-admin > header.topbar > .session{
    order:4;
    grid-column:1/-1;
    justify-content:flex-end;
  }
}
@media (max-width:640px){
  body.is-admin > header.topbar,
  body > header.topbar{
    grid-template-columns:minmax(0,1fr);
  }
  body.is-admin > header.topbar > #globalStatus.statusbar{
    order:2;
    justify-self:stretch;
    width:100%;
    max-width:100%;
    padding:.34rem .58rem;
    font-size:.76rem;
  }
  body.is-admin > header.topbar > nav{
    order:3;
    grid-column:auto;
  }
  body.is-admin > header.topbar > .session{
    order:4;
    grid-column:auto;
  }
}
@media (min-width:821px){
  #allMemberList > section > h3,
  #allMemberList > section > div{
    width:min(100%,16rem);
    max-width:16rem;
  }
}

/* t_4a1adea1 removed chat meta chrome + desktop messenger single-scroll containment */
#roomMeta,
.room-meta{
  display:none!important;
}
@media (min-width:821px){
  html:has(#messenger.view.active),
  body:has(#messenger.view.active){
    height:100%;
    overflow:hidden;
  }
  #messenger.view.active{
    height:calc(100dvh - 64px);
    max-height:calc(100dvh - 64px);
    padding-block:.45rem;
    overflow:hidden;
  }
  #messenger.view.active .messenger.card{
    min-height:0;
    height:100%;
    max-height:100%;
    overflow:hidden;
  }
  #messenger.view.active .messenger>.rooms-pane,
  #messenger.view.active .messenger>.members-pane,
  #messenger.view.active .messenger>.chat{
    height:100%;
    max-height:100%;
    min-height:0;
    overflow:hidden;
  }
  #messenger.view.active .chat{
    grid-template-rows:auto minmax(0,1fr) auto auto auto;
  }
  #messenger.view.active .messages{
    grid-row:2;
  }
  #messenger.view.active .agent-processing-status{
    grid-row:3;
  }
  #messenger.view.active .attach-tray{
    grid-row:4;
  }
  #messenger.view.active .composer{
    grid-row:5;
  }
  #messenger.view.active .messages,
  #messenger.view.active .rooms-pane>.room-list,
  #messenger.view.active #roomParticipantList,
  #messenger.view.active #allMemberList{
    min-height:0;
    overflow:auto;
    overscroll-behavior:contain;
  }
  #messenger.view.active .members-pane>.member-section-current{
    min-height:0;
    flex:0 0 auto;
  }
  #messenger.view.active .members-pane>.member-section-current #roomParticipantList{
    min-height:0;
    max-height:clamp(11rem,32vh,24rem);
    flex:0 1 auto;
  }
  #messenger.view.active .members-pane>.member-section-all{
    min-height:0;
    flex:1 1 auto;
  }
}
.pane-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.pane-actions,.chat-header-actions,.pane-title-row{display:flex;gap:8px;flex-wrap:wrap}.pane-tools,.chat-search-bar,.reply-preview,.emoji-picker{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.03);padding:10px 12px;margin-bottom:12px}.chat-header-main{display:flex;flex-direction:column;gap:0;min-width:0}.chat-header-actions{align-items:flex-start;justify-content:flex-end}.pane-title-row{align-items:center;min-width:0}.pane-icon-toggle{display:inline-grid;place-items:center;min-width:42px;width:42px;height:42px;padding:0;font-size:1.1rem;font-weight:900;line-height:1}.pane-toggle-icon-svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chat-search-bar{display:flex;gap:8px;align-items:center}.chat-search-bar input{flex:1}.reply-preview{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:12px;row-gap:8px}.reply-preview-copy{display:grid;gap:4px;min-width:0}.reply-preview-copy strong,.reply-preview-copy p{margin:0}.reply-preview-copy p{color:var(--muted);line-height:1.45;word-break:break-word}.reply-preview-dismiss{align-self:start;justify-self:end;min-width:2rem;min-height:2rem;border-radius:999px}.reply-preview.hidden,.emoji-picker.hidden{display:none}.emoji-picker{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.emoji-picker button{min-height:40px;font-size:20px}.composer.dragover{outline:2px dashed var(--accent);outline-offset:3px}.attachment-pill{display:inline-flex;align-items:center;gap:10px}.attachment-pill img{width:44px;height:44px;object-fit:cover;border-radius:10px}.attachment-pill-icon{width:44px;height:44px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:rgba(124,156,255,.16);font-weight:700}.message-reply-ref{display:grid;gap:4px;margin-bottom:8px;padding:8px 10px;border-left:3px solid var(--accent);background:rgba(124,156,255,.08);border-radius:10px}.message-inline-link{border:0;background:transparent;color:var(--accent);cursor:pointer;padding:0}.message-reaction-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.message-reaction-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(124,156,255,.22);border-radius:999px;background:#fff;padding:.18rem .5rem;line-height:1;font-size:.9rem;color:var(--ink)}.message-reaction-chip strong{font-size:.72rem;color:var(--muted)}.message-reaction-chip.active{background:#eef4ff;border-color:#8ba8ff;color:#17359c}.message-reaction-chip:disabled{opacity:.6;cursor:wait}.message-meta-line{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}.message-meta-line .message-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
#messenger.view.active .chat{grid-template-rows:auto minmax(0,1fr) auto auto auto}
@media (min-width:821px){#messenger.view.active .chat{grid-template-rows:auto minmax(0,1fr) auto auto auto}}
@media (max-width:900px){.chat-search-bar{flex-direction:column;align-items:stretch}.reply-preview{grid-template-columns:minmax(0,1fr);align-items:stretch}.reply-preview-dismiss{justify-self:end}.emoji-picker{grid-template-columns:repeat(3,minmax(0,1fr))}}


/* t_858ee319 integrated workspace sidebar + team agent page */
.workspace-sidebar,.workspace-details-pane{--surface-gap:.62rem;--surface-padding:.72rem;--surface-radius:16px;display:flex;flex-direction:column;gap:var(--surface-gap);min-height:0}
.workspace-sidebar{overflow:auto;padding-right:.12rem;overscroll-behavior:contain}
.workspace-details-pane{overflow:hidden}
.workspace-sidebar>h2,.workspace-details-pane h3,.workspace-details-pane h4{margin:0}
.workspace-details-pane .pane-head{padding:0}.workspace-details-pane .pane-head h2{margin:0}.workspace-details-pane .pane-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem}
.workspace-details-pane .pane-title-row{display:flex;align-items:center;gap:.55rem;min-width:0;flex:1 1 auto}
.workspace-details-pane .pane-title-row h2{margin:0;min-width:0}
.ui-icon{width:1rem;height:1rem;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pane-toggle-icon-svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sidebar-section,.workspace-card,.kanban-summary-card,.workspace-agent-focus,.workspace-inline-card{display:grid;gap:.45rem;padding:var(--surface-padding);border:1px solid var(--line,#d8e0ee);border-radius:var(--surface-radius);background:#fff;box-shadow:0 1px 2px rgba(20,35,80,.02);min-height:0}
.sidebar-section-head{display:flex;align-items:center}
.sidebar-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:.55rem;row-gap:.2rem;width:100%;min-height:2.25rem;padding:0;border:0;background:transparent;color:var(--ink);font-weight:900;text-align:left}
.sidebar-toggle-copy{display:flex;align-items:center;gap:.45rem;min-width:0;flex-wrap:nowrap}
.sidebar-toggle-label{min-width:0;display:inline-flex;align-items:center;flex:0 0 auto;font-size:.9rem;line-height:1.15;letter-spacing:-.01em}
.sidebar-toggle-summary{display:none;min-width:0;max-width:100%;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.69rem;font-weight:700;line-height:1.2}
.sidebar-toggle-copy>[data-lucide-icon]{flex:0 0 auto;align-self:center;margin-top:0;color:#17359c}
.sidebar-toggle-copy .sidebar-toggle-label{display:inline-flex;align-items:center;min-width:0}
.sidebar-toggle-copy .sidebar-toggle-summary{margin-left:.12rem}
.sidebar-section[data-sidebar-open="false"] .sidebar-toggle-copy{padding-right:.18rem}
.sidebar-section[data-sidebar-open="false"] .sidebar-toggle-summary{display:inline-flex;align-items:center}
.sidebar-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:999px;background:#f8fbff;color:var(--muted);transform:rotate(0deg);transform-origin:center;transition:transform .18s ease,color .18s ease,background-color .18s ease}
.sidebar-toggle-icon .ui-icon,.sidebar-toggle-icon svg{width:.9rem;height:.9rem}
.sidebar-toggle[aria-expanded="false"] .sidebar-toggle-icon{transform:rotate(180deg)}
.sidebar-toggle:hover .sidebar-toggle-icon,.sidebar-toggle:focus-visible .sidebar-toggle-icon{color:#17359c;background:#eef4ff}
.sidebar-section-body{display:grid;gap:.4rem;min-height:0}
.sidebar-section-body[hidden],.sidebar-section-body.is-collapsed{display:none!important}
.workspace-room-group>h3{display:flex;align-items:center;gap:.35rem;margin:0;font-size:.76rem;line-height:1.25;color:var(--muted);letter-spacing:-.01em}
.sidebar-list{display:grid;align-content:start;min-height:0;overflow:auto;overscroll-behavior:contain;padding-right:.1rem}
.workspace-room-list{display:grid;align-content:start;min-height:0;overflow:auto;overscroll-behavior:contain;padding-right:.1rem}
#sidebarMemberList,#roomList,#teamAgentMiniList{max-height:clamp(13rem,36vh,30rem)}
.sidebar-more{justify-content:center}
.workspace-note{margin:0;color:var(--muted);font-size:.78rem;line-height:1.35}
.workspace-room-list{align-content:start}
.workspace-room-group{gap:.38rem}
.workspace-room-group .room-card{grid-template-columns:auto minmax(0,1fr);justify-items:start;text-align:left;min-height:38px;padding:.4rem .54rem}
.workspace-room-group .room-card strong{line-height:1.14}
.workspace-room-group .room-card small{grid-column:2;color:var(--muted);font-size:.66rem;line-height:1.12;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
#teamAgentMiniList>button,.team-agent-mini-list>button{min-height:56px}
.surface-card-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:.52rem}
.surface-card-icon{display:grid;place-items:center;width:1.85rem;height:1.85rem;border-radius:11px;background:#eef4ff;color:#17359c;flex:0 0 auto}
.surface-card-copy{display:grid;gap:.16rem;min-width:0}
.surface-card-copy strong{font-size:.82rem;line-height:1.15;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.surface-card-meta{display:flex;flex-wrap:wrap;gap:.28rem;align-items:center}
.surface-meta-chip{display:inline-flex;align-items:center;min-height:1.35rem;padding:.14rem .42rem;border-radius:999px;background:#f2f4f7;color:#475467;font-size:.64rem;font-weight:900;line-height:1.05;white-space:nowrap}
.surface-meta-chip.accent{background:#eef4ff;color:#17359c}
.surface-meta-chip.info{background:#ecfdf3;color:#027a48}
.surface-meta-chip.neutral{background:#f2f4f7;color:#475467}
.team-agent-card{display:grid;gap:.28rem;justify-items:start;text-align:left}
.team-agent-card strong,.team-agent-card span,.team-agent-card small{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.team-agent-card small{color:var(--muted);font-size:.68rem;line-height:1.25}
.team-agent-detail-list .team-agent-card{gap:.16rem;padding:.38rem .5rem}
.team-agent-detail-list .team-agent-card .surface-card-head{gap:.38rem;align-items:center}
.team-agent-detail-list .team-agent-card .surface-card-icon{width:1.45rem;height:1.45rem;border-radius:9px}
.team-agent-detail-list .team-agent-card .surface-card-copy{gap:.08rem}
.team-agent-detail-list .team-agent-card .surface-card-meta{gap:.18rem;flex-wrap:nowrap;overflow:hidden}
.team-agent-detail-list .team-agent-card .surface-meta-chip{min-height:1.08rem;padding:.1rem .3rem;font-size:.58rem;line-height:1}
.team-agent-card.selected{border-color:#7f9cff;background:linear-gradient(135deg,#fff,#eef4ff);box-shadow:0 10px 24px rgba(49,87,255,.13)}
.compact-team-agent-card{padding:.5rem .58rem;min-height:0}
.details-panel{display:grid;flex:1 1 auto;gap:.62rem;min-height:0;overflow:hidden;overscroll-behavior:contain;padding-right:0}
.details-panel:not(.details-panel-team){align-content:start;justify-content:start;grid-template-columns:minmax(0,1fr)}
.details-panel>section{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;min-height:0;overflow:auto;overscroll-behavior:contain;padding-right:.12rem}
.details-panel:not(.details-panel-team)>section{align-self:stretch}
.details-panel.details-panel-team{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;overflow:auto;padding-right:.12rem}
.details-panel.details-panel-team>section{min-height:0}
@media (min-width:821px){.details-panel.details-panel-team{grid-template-rows:none;grid-auto-rows:auto;align-items:start}}
.workspace-card-head,.workspace-section-head{display:flex;align-items:center;justify-content:space-between;gap:.58rem;min-width:0}
.workspace-card-head>div,.workspace-section-head>div{min-width:0;flex:1 1 auto}
.sidebar-section-head>.sidebar-toggle,.workspace-card-head>button,.workspace-section-head>button,.pane-title-row>button{align-self:center}
.details-panel .workspace-card-head,.details-panel .workspace-section-head{align-items:flex-start}
.details-panel .workspace-card-head>div,.details-panel .workspace-section-head>div{display:grid;align-content:start;gap:.18rem}
.details-panel .workspace-card-head>button,.details-panel .workspace-section-head>button{align-self:flex-start}
.workspace-section-toggle{display:flex;align-items:flex-start;justify-content:space-between;gap:.58rem;width:100%;padding:0;border:0;background:none;text-align:left;color:inherit;cursor:pointer}
.workspace-section-toggle>div{display:grid;gap:.18rem;min-width:0;flex:1 1 auto}
.workspace-section-toggle-indicator{flex:0 0 auto;font-size:.72rem;font-weight:800;color:#17359c;white-space:nowrap}
.workspace-section-body{display:grid;gap:.45rem;min-height:0}
.workspace-card-collapsed .workspace-section-body{display:none}
.details-panel.team-details-compact>.workspace-hero-card,.details-panel.team-details-compact>section:nth-child(4){display:none}
.details-panel.team-details-compact.details-panel-team{grid-template-rows:auto minmax(0,1fr)}
.details-panel.team-details-compact.details-panel-team>section,
.details-panel.team-details-compact.details-panel-team .workspace-section-body,
.details-panel.team-details-compact.details-panel-team #roomParticipantList,
.details-panel.team-details-compact.details-panel-team #roomParticipantList>.member-group{width:100%;max-width:none;min-width:0;justify-self:stretch;align-self:stretch}
.workspace-card h3,.workspace-card h4{margin:0;font-size:.95rem;line-height:1.18;letter-spacing:-.01em}
.workspace-chip-row{display:flex;flex-wrap:wrap;gap:.35rem}
.workspace-chip-row-hero{flex-wrap:nowrap;overflow:auto;white-space:nowrap}
.workspace-hero-card .workspace-card-head{display:grid;grid-template-columns:minmax(0,1fr)}
.workspace-hero-actions{display:flex;flex-wrap:wrap;gap:.42rem}.workspace-hero-actions button{flex:0 0 auto}
#teamKanbanSummarySection,.details-panel.details-panel-team>section:nth-child(4){min-height:15rem}
.details-participant-list,.team-agent-detail-list,.kanban-summary-list,.workspace-inline-list{display:grid;gap:.38rem}
.details-participant-list{max-height:clamp(12rem,34vh,18rem);overflow:auto;align-content:start;padding-right:.12rem;overscroll-behavior:contain}
.team-agent-detail-list{max-height:clamp(10rem,30vh,18rem);overflow:auto;padding-right:.12rem;overscroll-behavior:contain}
.details-room-participant-list{max-height:clamp(12rem,32vh,18rem);overflow:auto;align-content:start;padding-right:.12rem;overscroll-behavior:contain}
.workspace-room-participants-card{gap:.45rem;width:100%;max-width:none;align-self:stretch}
@media (min-width:1080px){.details-panel.details-panel-team{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}.details-panel.details-panel-team>.workspace-hero-card,.details-panel.details-panel-team>section:nth-child(2){min-height:15.5rem;max-height:15.5rem}.details-panel.details-panel-team>section:nth-child(2){overflow:hidden}.details-panel.details-panel-team>section:nth-child(2) #roomParticipantList{flex:1 1 auto;min-height:0;max-height:none;overflow:auto}.details-panel.details-panel-team>#teamKanbanSummarySection,.details-panel.details-panel-team>section:nth-child(4){grid-column:1/-1;min-height:26rem;max-height:26rem;overflow:hidden}.details-panel.details-panel-team>#teamKanbanSummarySection .team-kanban-board-stack,.details-panel.details-panel-team>#teamKanbanSummarySection .workspace-inline-list,.details-panel.details-panel-team>section:nth-child(4) .workspace-inline-list{flex:1 1 auto;min-height:0;overflow:auto}.details-panel.details-panel-team.team-details-compact{grid-template-columns:minmax(0,1fr)}.details-panel.details-panel-team.team-details-compact>section{grid-column:1/-1}}
.room-participant-context{margin:0}
.kanban-summary-card,.workspace-agent-focus,.workspace-inline-card{gap:.2rem;background:#fbfdff;border-color:#d7e4ff}
.kanban-summary-card strong,.workspace-inline-card strong{font-size:.8rem;line-height:1.16}
.kanban-summary-card small,.workspace-agent-focus small,.workspace-inline-card small{color:var(--muted);font-size:.72rem;line-height:1.3}
.workspace-note,.kanban-summary-card span,.kanban-summary-card small,.workspace-agent-focus span,.workspace-agent-focus small,.workspace-inline-card small{overflow-wrap:anywhere;word-break:break-word}
.kanban-summary-metrics{grid-template-columns:repeat(auto-fit,minmax(86px,1fr))}
.kanban-summary-metric{align-content:start;min-height:0}
.kanban-summary-metric span{font-size:.7rem;font-weight:800;color:#17359c}
.team-kanban-board-stack{display:grid;gap:.42rem}
.team-kanban-board-stack>h4{margin:0;font-size:.82rem;color:var(--muted);letter-spacing:-.01em}
.team-kanban-board{display:grid;gap:.42rem;padding:.58rem;border:1px solid #d7e4ff;border-radius:14px;background:linear-gradient(180deg,#fbfdff,#fff)}
.team-kanban-board-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.45rem}
.team-kanban-board-head>div{display:grid;gap:.12rem;min-width:0}
.team-kanban-board-head strong{font-size:.82rem;line-height:1.14}
.team-kanban-board-head small{color:var(--muted);font-size:.7rem;line-height:1.25}
.team-kanban-board-columns{display:grid;grid-template-columns:minmax(0,1fr);gap:.38rem;align-items:start}
.hermes-kanban-column{display:grid;gap:.35rem;min-height:0;padding:.5rem;border:1px solid #d7e4ff;border-radius:12px;background:#fff}
.hermes-kanban-column-todo{border-color:#d8e0ee;background:linear-gradient(180deg,#fff,#fafbff)}
.hermes-kanban-column-progress{border-color:#b9c9ff;background:linear-gradient(180deg,#fff,#eef4ff)}
.hermes-kanban-column-blocked{border-color:#ffd0d7;background:linear-gradient(180deg,#fff,#fff4f5)}
.hermes-kanban-column-review{border-color:#ffe0ad;background:linear-gradient(180deg,#fff,#fff8eb)}
.hermes-kanban-column-done{border-color:#b8dbca;background:linear-gradient(180deg,#fff,#ecfdf3)}
.team-kanban-column-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.35rem}
.team-kanban-column-head>div{display:grid;gap:.08rem;min-width:0}
.team-kanban-column-label{font-size:.76rem;font-weight:900;line-height:1.12}
.team-kanban-column-head small{color:var(--muted);font-size:.65rem;line-height:1.2}
.team-kanban-column-count{display:inline-grid;place-items:center;min-width:1.4rem;height:1.4rem;padding:0 .32rem;border-radius:999px;background:rgba(255,255,255,.9);border:1px solid rgba(23,53,156,.12);color:#17359c;font-size:.68rem;font-weight:900}
.team-kanban-column-body{display:grid;gap:.3rem;align-content:start}
.team-kanban-task-card{display:grid;gap:.14rem;padding:.42rem .45rem;border:1px solid rgba(23,53,156,.09);border-radius:10px;background:rgba(255,255,255,.92);box-shadow:0 1px 1px rgba(20,35,80,.03)}
.team-kanban-task-card strong{font-size:.72rem;line-height:1.08;color:#17359c}
.team-kanban-task-card span{font-size:.76rem;font-weight:800;line-height:1.2}
.team-kanban-task-card small,.team-kanban-task-card p{margin:0;color:var(--muted);font-size:.66rem;line-height:1.25}
.team-kanban-task-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
.team-kanban-column-empty,.team-kanban-column-overflow{font-size:.68rem;line-height:1.25;color:var(--muted)}
.team-kanban-column-empty{padding:.18rem 0}
.team-kanban-column-overflow{font-weight:800}
.team-kanban-more-btn{justify-self:flex-start;min-height:30px;padding:.28rem .62rem;font-size:.74rem;font-weight:900}
.details-panel.details-panel-compact .team-kanban-board{padding:.5rem;gap:.35rem}
.details-panel.details-panel-compact .team-kanban-board-columns{grid-template-columns:minmax(0,1fr);gap:.32rem}
.details-panel.details-panel-compact .hermes-kanban-column{padding:.42rem;gap:.28rem}
.details-panel.details-panel-compact .team-kanban-task-card{padding:.36rem .38rem}
.details-panel.details-panel-compact .team-kanban-task-card p{-webkit-line-clamp:1;line-clamp:1}
.details-panel.details-panel-compact{gap:.5rem}
.details-panel.details-panel-compact .workspace-card,
.details-panel.details-panel-compact .kanban-summary-card,
.details-panel.details-panel-compact .workspace-agent-focus,
.details-panel.details-panel-compact .workspace-inline-card{padding:.6rem .64rem;gap:.28rem;border-radius:14px}
.details-panel.details-panel-compact .workspace-card h3,
.details-panel.details-panel-compact .workspace-card h4{font-size:.9rem;line-height:1.14}
.details-panel.details-panel-compact .workspace-chip-row{gap:.26rem}
.details-panel.details-panel-compact .details-room-participant-list{max-height:clamp(9.5rem,24vh,13rem)}
.details-panel.details-panel-compact .team-agent-detail-list,
.details-panel.details-panel-compact .details-participant-list,
.details-panel.details-panel-compact .kanban-summary-list,
.details-panel.details-panel-compact .workspace-inline-list{gap:.3rem}
.details-panel.details-panel-compact .details-participant-list,
.details-panel.details-panel-compact #roomParticipantList{width:100%;max-width:none}
.details-panel.details-panel-compact #roomParticipantList > .member-group,
.details-panel.details-panel-compact #roomParticipantList .compact-member-card{width:100%;max-width:none;justify-self:stretch}
.details-panel.details-panel-compact #roomParticipantList .compact-member-card{padding:.52rem .58rem;grid-template-columns:minmax(0,1fr);min-height:52px}
.details-panel.details-panel-compact #roomParticipantList .compact-member-card .member-card-title-row{display:grid;grid-template-columns:minmax(0,1fr);gap:.24rem;align-items:start}
.details-panel.details-panel-compact #roomParticipantList .compact-member-card .member-card-title-row > .type-chip{justify-self:start;max-width:100%}
.details-panel.details-panel-compact .workspace-note,
.details-panel.details-panel-compact .kanban-summary-card span,
.details-panel.details-panel-compact .kanban-summary-card small,
.details-panel.details-panel-compact .workspace-agent-focus span,
.details-panel.details-panel-compact .workspace-agent-focus small,
.details-panel.details-panel-compact .workspace-inline-card small{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.details-panel.details-panel-compact .kanban-summary-card strong,
.details-panel.details-panel-compact .workspace-agent-focus strong,
.details-panel.details-panel-compact .workspace-inline-card strong{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.details-panel.details-panel-compact .workspace-note{-webkit-line-clamp:2;line-clamp:2;line-height:1.28}
.details-panel.details-panel-compact .kanban-summary-card span,
.details-panel.details-panel-compact .kanban-summary-card small,
.details-panel.details-panel-compact .workspace-agent-focus span,
.details-panel.details-panel-compact .workspace-agent-focus small,
.details-panel.details-panel-compact .workspace-inline-card small{-webkit-line-clamp:2;line-clamp:2}
.team-invite-modal-card{width:min(640px,calc(100vw - 2rem))}
.team-invite-modal-copy{display:grid;gap:.45rem}.team-invite-modal-copy input{min-height:42px}
.team-invite-selection{display:flex;flex-wrap:wrap;gap:.4rem;min-height:2rem;padding:.55rem;border:1px dashed #c8d6f5;border-radius:14px;background:#f8fbff}
.team-invite-chip{display:inline-flex;align-items:center;border-radius:999px;padding:.28rem .55rem;background:#eef4ff;color:#17359c;font-size:.76rem;font-weight:900}
.team-invite-list{display:grid;gap:.45rem;max-height:320px;overflow:auto;padding-right:.1rem}
.team-invite-option{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.55rem;padding:.68rem .72rem;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer}
.team-invite-option.selected{border-color:#9db2ff;background:#f8fbff;box-shadow:0 8px 20px rgba(73,102,255,.08)}
.team-invite-option input{margin-top:.18rem}.team-invite-option span{display:grid;gap:.16rem;min-width:0}.team-invite-option small{color:var(--muted);line-height:1.35}
.inline-error-copy{margin:0;color:#b42318;font-size:.84rem;line-height:1.4}
.pane-details-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:42px;width:42px;height:42px;padding:0;border-radius:999px;font-weight:900;white-space:nowrap}
.pane-toggle-icon{display:grid;place-items:center;width:1rem;height:1rem;color:currentColor;transition:transform .18s ease}
.pane-details-toggle.is-expanded .pane-toggle-icon{transform:none}
.pane-toggle-label{font-size:.82rem;line-height:1}
#roomParticipantList .compact-member-card .compact-member-card-main,
#allMemberList .compact-member-card .compact-member-card-main,
#sidebarMemberList .compact-member-card .compact-member-card-main,
.member-card .member-card-main{display:grid;gap:.18rem;min-width:0}
.member-card .member-card-title-row{display:flex;align-items:center;gap:.38rem;min-width:0;flex-wrap:wrap}
#roomParticipantList .compact-member-card .member-card-title-row strong,
#allMemberList .compact-member-card .member-card-title-row strong,
#sidebarMemberList .compact-member-card .member-card-title-row strong,
.member-card .member-card-title-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#roomParticipantList .compact-member-card .member-card-title-row>.type-chip,
#allMemberList .compact-member-card .member-card-title-row>.type-chip,
#sidebarMemberList .compact-member-card .member-card-title-row>.type-chip,
.member-card .member-card-title-row>.type-chip{margin:0;padding:.16rem .38rem;font-size:.66rem;line-height:1.1}
#roomParticipantList .compact-member-card .member-card-summary,
#allMemberList .compact-member-card .member-card-summary,
#sidebarMemberList .compact-member-card .member-card-summary,
.member-card .member-card-summary{font-size:.72rem;line-height:1.2;color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:820px){.workspace-card-head,.workspace-section-head{flex-direction:column}.workspace-hero-actions{display:grid;grid-template-columns:1fr 1fr}.workspace-hero-actions button:last-child{grid-column:1/-1}}

@media (min-width:821px){
  .messenger.pane-focus-members>.chat{display:none!important}
  .messenger.pane-focus-members>.members-pane{grid-column:2/4;max-width:none}
  .messenger.pane-focus-rooms>.chat{display:grid!important}
  .messenger.pane-focus-rooms>.members-pane{grid-column:3/4}
}

/* t_acd6bfef lucide icon normalization across auth/sidebar/chat/admin/modals */
.button-with-icon,.button-label,.sidebar-toggle-copy,.icon-only-button,.message-icon-action,.file-icon,.attachment-pill-icon,.chat-search-icon{display:inline-flex;align-items:center;gap:.45rem}
.button-with-icon{justify-content:center}
.button-copy,.button-label>span:last-child{display:inline-flex;align-items:center}
[data-lucide-icon]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:currentColor}
[data-lucide-icon]>.ui-icon,.button-with-icon .ui-icon,.button-label .ui-icon,.message-icon-action .ui-icon,.file-icon-svg,.attachment-pill-icon .ui-icon,.chat-search-icon .ui-icon,.icon-only-button .ui-icon{width:1rem;height:1rem;display:block}
.button-with-icon .ui-icon,.button-label .ui-icon{width:1.02rem;height:1.02rem}
.nav.app-nav,.ghost.button-with-icon,.primary.button-with-icon{display:inline-flex;align-items:center;justify-content:center;gap:.45rem}
.nav.app-nav .button-label{display:inline-flex;align-items:center;gap:.45rem}
.auth-google:before,.composer #uploadBtn:before{content:none!important;display:none!important}
.auth-google.button-with-icon{justify-content:center}
.sidebar-toggle-copy{display:flex;align-items:center;gap:.45rem;flex-wrap:nowrap}
.sidebar-toggle-copy>[data-lucide-icon]{flex:0 0 auto;align-self:center;margin-top:0;color:#17359c}
.sidebar-toggle-copy .sidebar-toggle-label{display:inline-flex;align-items:center;min-width:0}
.sidebar-toggle-copy .sidebar-toggle-summary{margin-left:.12rem}
.chat-search-icon{justify-content:center;gap:0}
.chat-search-icon [data-lucide-icon]{gap:0}
.icon-only-button{justify-content:center;padding:0}
.modal-close.icon-only-button{font-size:0;line-height:0}
.message-icon-action{justify-content:center;padding:0;gap:0}
.message-icon-action .ui-icon{width:.95rem;height:.95rem}
.attachment-pill-icon,.file-icon{justify-content:center;gap:0}
.attachment-pill-icon .ui-icon,.file-icon-svg{width:1.15rem;height:1.15rem}
.chip-dismiss-icon{width:.92rem!important;height:.92rem!important}
.attach-tray .chip{display:inline-flex;align-items:center;gap:.55rem}
.attach-tray .chip button{display:inline-flex;align-items:center;justify-content:center}


/* t_eb9ed248: compact team-channel kanban column board */
.hermes-kanban-board{display:grid;grid-template-columns:1fr;gap:.48rem;align-items:start;overflow:auto;padding-bottom:.1rem}
.hermes-kanban-board-head{grid-column:1/-1;display:flex;align-items:flex-start;justify-content:space-between;gap:.55rem}
.hermes-kanban-board-head strong{font-size:.9rem;line-height:1.15}
.hermes-kanban-board-head small{display:block;color:var(--muted);font-size:.72rem;line-height:1.3;margin-top:.12rem}
.hermes-kanban-board-columns{grid-column:1/-1;display:grid;grid-template-columns:1fr;gap:.48rem;align-items:start;min-width:0}
.hermes-kanban-column{display:grid;align-content:start;gap:.4rem;min-width:0;padding:.58rem;border:1px solid #d7e4ff;border-radius:16px;background:linear-gradient(180deg,#fbfdff,#f6f9ff)}
.hermes-kanban-column-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}
.hermes-kanban-column-head>div{display:grid;gap:.08rem;min-width:0}
.hermes-kanban-column-head small{color:var(--muted);font-size:.69rem;line-height:1.2}
.team-kanban-column-label{font-size:.76rem;font-weight:900;line-height:1.1}
.team-kanban-column-count{display:inline-grid;place-items:center;min-width:1.7rem;min-height:1.7rem;padding:.1rem .38rem;border-radius:999px;background:#eef4ff;color:#17359c;font-size:.74rem;font-weight:900}
.hermes-kanban-column-list{display:grid;gap:.35rem;align-content:start;min-height:2.6rem}
.hermes-kanban-card{display:grid;gap:.18rem;padding:.48rem .52rem;border:1px solid #d7e4ff;border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(20,35,80,.04)}
.hermes-kanban-card strong{font-size:.76rem;line-height:1.15}
.hermes-kanban-card span{font-size:.73rem;line-height:1.28}
.hermes-kanban-card small,.team-kanban-column-empty,.team-kanban-column-overflow{color:var(--muted);font-size:.68rem;line-height:1.28}
.hermes-kanban-column-todo{border-color:#d7e4ff}.hermes-kanban-column-progress{border-color:#bfd4ff;background:linear-gradient(180deg,#f7faff,#eef4ff)}.hermes-kanban-column-blocked{border-color:#ffd6b3;background:linear-gradient(180deg,#fffaf5,#fff3e8)}.hermes-kanban-column-review{border-color:#d9d6fe;background:linear-gradient(180deg,#faf9ff,#f4f3ff)}.hermes-kanban-column-done{border-color:#bfe8d8;background:linear-gradient(180deg,#f6fffb,#ecfdf3)}.hermes-kanban-column-neutral{border-color:#d7e4ff}
.team-kanban-board-stack{display:grid;gap:.45rem}.team-kanban-board-stack>h4{margin:0;font-size:.84rem;line-height:1.18;letter-spacing:-.01em}
.kanban-summary-metrics{grid-template-columns:repeat(auto-fit,minmax(5.2rem,1fr))}
.kanban-summary-metric{min-height:0}
.details-panel.details-panel-compact .hermes-kanban-board{gap:.38rem}
.details-panel.details-panel-compact .hermes-kanban-board-columns{grid-template-columns:1fr;gap:.38rem;min-width:0}
.details-panel.details-panel-compact .hermes-kanban-column{padding:.48rem;border-radius:14px}
.details-panel.details-panel-compact .hermes-kanban-card{padding:.42rem .45rem}
@media (max-width:1180px){.hermes-kanban-board-columns,.details-panel.details-panel-compact .hermes-kanban-board-columns{grid-template-columns:1fr}}
@media (max-width:820px){.hermes-kanban-board-columns,.details-panel.details-panel-compact .hermes-kanban-board-columns{grid-template-columns:1fr;min-width:0}.hermes-kanban-board{grid-template-columns:1fr}.hermes-kanban-board-head{grid-column:auto}.hermes-kanban-board-columns{grid-column:auto}}
@media (max-width:520px){.hermes-kanban-board-columns,.details-panel.details-panel-compact .hermes-kanban-board-columns{grid-template-columns:1fr}}

.pm-profile-editor{display:grid;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(148,163,184,.18)}
.pm-profile-editor.hidden{display:none!important}
.pm-profile-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.pm-profile-editor textarea{width:100%;min-height:120px;resize:vertical}
.pm-profile-editor-actions{display:flex;justify-content:flex-end}

