:root{--bg:#f5f7fb;--card:#fff;--text:#111827;--muted:#6b7280;--line:#e5e7eb;--accent:#2563eb;--soft:#eef2ff;--shadow:0 16px 40px rgba(17,24,39,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,"Segoe UI",sans-serif;background:linear-gradient(180deg,#fbfcff,var(--bg));color:var(--text)}.app{min-height:100vh;padding:22px 14px 125px}.shell{width:min(1040px,100%);margin:auto}.top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.brand{display:flex;gap:12px;align-items:center}.logo{width:48px;height:48px;border-radius:15px;background:#111827;color:#fff;display:grid;place-items:center;font-weight:900}.brand h1{font-size:21px;margin:0}.brand p,.muted{color:var(--muted);font-size:12px;margin:4px 0 0}.tenant{background:#fff;border:1px solid var(--line);padding:9px 12px;border-radius:14px;font-size:12px}.chatcard{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);overflow:hidden}.chathead{padding:13px 17px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.status{font-weight:700;font-size:13px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#22c55e;margin-right:7px}.chat{padding:18px;min-height:470px}.msgrow{display:flex;margin:10px 0}.assistant{justify-content:flex-start}.user{justify-content:flex-end}.msg{max-width:min(88%,780px);padding:13px 14px;border-radius:17px;font-size:14px;line-height:1.45}.assistant .msg{background:#f3f4f6}.user .msg{background:#111827;color:#fff}.menu-title{font-weight:800;margin-bottom:10px}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.menu-btn,.sub-btn{width:100%;border:1px solid var(--line);background:#fff;border-radius:13px;padding:11px 12px;text-align:left;cursor:pointer;font:inherit}.menu-btn:hover,.sub-btn:hover{border-color:#93c5fd;background:#f8fbff}.menu-btn b{display:block}.menu-btn span{font-size:11px;color:var(--muted)}.sub-list{display:grid;gap:7px}.sub-btn{display:flex;justify-content:space-between;gap:10px}.composer-wrap{position:fixed;bottom:0;left:0;right:0;padding:10px 14px 14px;background:linear-gradient(180deg,transparent,#f5f7fb 28%)}.composer{width:min(1040px,100%);margin:auto;background:#fff;border:1px solid #dbe1e8;border-radius:20px;padding:7px;display:flex;gap:8px;box-shadow:0 12px 38px rgba(17,24,39,.15)}textarea{flex:1;min-height:46px;max-height:150px;border:0;outline:0;resize:none;padding:12px;font:inherit}.icon,.send{width:45px;height:45px;border:0;border-radius:14px;cursor:pointer;font-size:18px}.icon{background:#f3f4f6}.send{background:#111827;color:#fff}.listening{background:#fee2e2}.module-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.chip{padding:6px 10px;border-radius:999px;background:var(--soft);font-size:12px}.rows{display:grid;gap:9px}.row{padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff}.back{display:inline-block;margin-bottom:12px;text-decoration:none;color:var(--accent)}@media(max-width:650px){.top{align-items:flex-start;flex-direction:column}.tenant{width:100%}.menu-grid{grid-template-columns:1fr}.msg{max-width:95%}.chat{padding:12px}}
/* V4.15.4 PRO hierarchy */
.ai-pro-content{line-height:1.7;white-space:normal;word-break:break-word}
.ai-pro-content p{margin:.45rem 0 .9rem}.ai-pro-heading,.ai-pro-main{font-weight:800;font-size:1.08rem;margin:1.2rem 0 .45rem}
.ai-pro-sub{font-weight:700;margin:1rem 0 .3rem}.ai-pro-item{margin:.18rem 0 .18rem 1.15rem}
/* V6.10: expandable Admin/Public gateway chat */
body.chat-expanded{overflow:hidden}
body.chat-expanded .chatcard{position:fixed;inset:12px 12px 86px;z-index:900;border-radius:20px;display:flex;flex-direction:column}
body.chat-expanded .chatcard .chat{flex:1;min-height:0;overflow-y:auto}
body.chat-expanded .composer-wrap{z-index:910;padding-left:20px;padding-right:20px}
body.chat-expanded .composer{width:calc(100% - 24px);max-width:none}
@media(max-width:650px){body.chat-expanded .chatcard{inset:6px 6px 78px;border-radius:15px}body.chat-expanded .composer-wrap{padding-left:8px;padding-right:8px}body.chat-expanded .composer{width:100%}}


/* V6.11: Expandable Composer / Large Text Input */
.composer-textarea-shell{position:relative;flex:1;min-width:0;display:flex;align-items:flex-end;background:#fff;border-radius:13px}
.composer-textarea-shell textarea{width:100%;padding-right:48px;min-height:46px;max-height:220px;overflow-y:auto;line-height:1.5}
.composer-expand-btn{position:absolute;right:4px;top:4px;width:36px;height:36px;border:0;border-radius:10px;background:#f3f4f6;cursor:pointer;font-size:17px;z-index:2}
body.composer-expanded{overflow:hidden}
body.composer-expanded .composer-wrap{position:fixed;inset:0;z-index:1200;padding:18px;background:rgba(15,23,42,.24);display:flex;align-items:center;justify-content:center}
body.composer-expanded .composer{width:min(1180px,calc(100vw - 36px));height:min(72vh,760px);max-width:none;margin:0;border-radius:22px;padding:12px;align-items:stretch}
body.composer-expanded .composer-textarea-shell{height:100%;align-items:stretch}
body.composer-expanded .composer-textarea-shell textarea{height:100%!important;max-height:none;resize:none;padding:18px 52px 18px 18px;font-size:16px;overflow:auto}
body.composer-expanded .composer>.icon,body.composer-expanded .composer>select,body.composer-expanded .composer>.send{align-self:flex-end;flex:none}
.workspace-composer-shell{position:relative;flex:1;min-width:0;display:flex}
.workspace-composer-shell textarea{width:100%;min-height:46px;max-height:220px;overflow-y:auto;resize:none;padding:13px 48px 13px 13px;border:1px solid #cbd5e1;border-radius:12px;font:inherit;line-height:1.5}
.workspace-composer-expand{position:absolute;right:5px;top:5px;width:36px;height:36px;border:0;border-radius:9px;background:#f1f5f9;cursor:pointer;font-size:17px}
body.workspace-composer-expanded{overflow:hidden}
body.workspace-composer-expanded #proChat{z-index:1000}
body.workspace-composer-expanded .compose{position:fixed;inset:14%;8%;z-index:1300;border:1px solid #cbd5e1;border-radius:20px;box-shadow:0 22px 70px rgba(15,23,42,.25);align-items:stretch;padding:12px;background:#fff}
body.workspace-composer-expanded .workspace-composer-shell{height:100%}
body.workspace-composer-expanded .workspace-composer-shell textarea{height:100%!important;max-height:none;padding:18px 52px 18px 18px;font-size:16px;overflow:auto}
body.workspace-composer-expanded .compose>button[type=submit]{align-self:flex-end;flex:none}
@media(max-width:650px){body.composer-expanded .composer-wrap{padding:8px}body.composer-expanded .composer{width:100%;height:82vh;border-radius:16px;flex-wrap:wrap}body.workspace-composer-expanded .compose{inset:5%;3%;border-radius:16px;flex-wrap:wrap}.workspace-composer-shell{flex-basis:100%}}

/* V6.12: balanced wide desktop chat/composer; mobile layout remains unchanged */
@media (min-width:900px){
  .shell{width:min(1600px,calc(100vw - 56px));max-width:none}
  .composer{width:min(1600px,calc(100vw - 56px));max-width:none}
  .chat{min-height:500px}
}

/* V6.13 — Collapsible Composer: close control must remain visible in expanded mode. */
body.workspace-composer-expanded .workspace-composer-expand{position:fixed;right:calc(8% + 18px);top:calc(14% + 18px);z-index:1400;background:#111827;color:#fff;box-shadow:0 5px 18px rgba(15,23,42,.22)}
@media(max-width:650px){body.workspace-composer-expanded .workspace-composer-expand{right:calc(3% + 12px);top:calc(5% + 12px)}}
