/* Brandroom additions: toasts (sonner look), account menu, sign-in page. Colours follow the tokens in brandroom.css. */
body{background:var(--background)}
.br-avatar-btn{border:0;cursor:pointer;font:inherit;padding:0}
.br-avatar-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}

#toaster{position:fixed;right:24px;bottom:24px;z-index:100;display:flex;flex-direction:column;gap:8px;width:356px;max-width:calc(100vw - 32px);pointer-events:none}
.br-toast{display:flex;align-items:center;gap:8px;padding:16px;border-radius:8px;font-size:13px;line-height:1.4;border:1px solid;box-shadow:0 4px 12px rgba(0,0,0,.1);opacity:0;transform:translateY(12px);transition:opacity .3s,transform .3s;pointer-events:auto}
.br-toast.in{opacity:1;transform:none}
.br-toast svg{flex:none}
.br-toast.success{background:#ecfdf3;color:#008a2e;border-color:#d3fde5}
.br-toast.error{background:#fff0f0;color:#e60000;border-color:#ffe0e1}

.br-menu{min-width:230px;background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px rgba(20,25,40,.12);padding:6px;font-size:13px}
.br-menu-head{padding:8px 10px 10px;border-bottom:1px solid var(--border);margin-bottom:4px;display:flex;flex-direction:column;gap:2px}
.br-menu-head small{color:var(--muted-foreground)}
.br-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;background:none;border-radius:6px;color:inherit;text-decoration:none;font:inherit;cursor:pointer;text-align:left}
.br-menu-item:hover{background:var(--accent);color:var(--accent-foreground)}

.br-login{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:linear-gradient(180deg,#f6f7fb,#fff)}
.br-login-card{width:100%;max-width:400px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:32px;box-shadow:0 12px 40px rgba(30,40,80,.08);display:flex;flex-direction:column;gap:16px}
.br-login-card h1{font-size:22px;font-weight:700;letter-spacing:-.02em;margin:8px 0 0;color:var(--foreground)}
.br-login-card>p{margin:-8px 0 4px;color:var(--muted-foreground);font-size:14px}
.br-login-mark{pointer-events:none;padding:0}
.br-login-card .form-field{display:flex;flex-direction:column;gap:6px}
.br-login-card label{font-size:13px;font-weight:600;color:var(--foreground)}
.br-login-alt{font-size:12px;color:var(--muted-foreground);text-align:center;text-decoration:none}
.br-login-alt:hover{color:var(--primary)}
.br-ai-note{display:flex;gap:8px;align-items:flex-start;margin:4px 0 12px;font-size:12.5px}.br-ai-note svg{flex:none;margin-top:2px}

/* Sign-in: Microsoft button and the password fallback */
.br-ms-button{display:flex;align-items:center;justify-content:center;gap:10px;height:44px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--foreground);font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s}
.br-ms-button:hover{background:var(--accent);border-color:var(--ring)}
.br-or{display:flex;align-items:center;gap:12px;color:var(--muted-foreground);font-size:12px}
.br-or:before,.br-or:after{content:"";flex:1;height:1px;background:var(--border)}
.br-pass-details{display:flex;flex-direction:column;gap:16px}
.br-pass-details>summary{cursor:pointer;font-size:13px;color:var(--muted-foreground);list-style:none;text-align:center}
.br-pass-details>summary::-webkit-details-marker{display:none}
.br-pass-details>summary:hover{color:var(--primary)}
.br-login-card .hint{font-size:12.5px;color:var(--muted-foreground);text-align:center;margin:0}

/* Documents tab */
.doc-layout{display:grid;grid-template-columns:300px 1fr;gap:20px;align-items:start;margin-top:20px}
.doc-upload{display:flex;flex-direction:column;gap:14px;padding:18px}
.doc-upload .field-help{margin:0;font-size:12px;color:var(--muted-foreground)}
.doc-list{display:flex;flex-direction:column;gap:10px}
.doc-row{display:flex;gap:14px;align-items:flex-start;padding:14px 16px}
.doc-icon{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:var(--accent);color:var(--primary)}
.doc-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.doc-main b{font-size:14px;word-break:break-word}
.doc-main small{color:var(--muted-foreground);font-size:12px}
.doc-note{margin:4px 0 0;font-size:12px;color:#8a6a3f}
.doc-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.doc-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.doc-actions .lock-control{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted-foreground)}
.doc-actions a.text-button{text-decoration:none}
.text-button.danger{color:var(--destructive)}
.doc-total{display:flex;align-items:center;gap:8px;margin:6px 2px 0;font-size:12.5px;color:var(--muted-foreground)}
@media (max-width:900px){.doc-layout{grid-template-columns:1fr}.doc-row{flex-wrap:wrap}.doc-side{align-items:flex-start;width:100%}}
.doc-upload-title{margin:0;font-size:14px;font-weight:600}
.doc-count{font-size:12.5px;color:var(--muted-foreground);white-space:nowrap}
.doc-main .text-button{font-size:12px}
.doc-text{margin:8px 0 0;max-height:280px;overflow:auto;white-space:pre-wrap;font:12.5px/1.55 ui-monospace,Consolas,monospace;background:#f7f9fd;border:1px solid var(--border);border-radius:8px;padding:12px;color:#3d4a63}

/* People & roles */
.people-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 14px}
.people-head p{margin:0;font-size:13px;color:var(--muted-foreground)}
.role-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.role-legend>div{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:#fff}
.role-legend b{font-size:13px}.role-legend span{font-size:12px;color:var(--muted-foreground);line-height:1.45}
.person-cell{display:flex;flex-direction:column;gap:1px}.person-cell small{color:var(--muted-foreground);font-size:12px;font-weight:400}
.you-tag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:99px;background:var(--accent);color:var(--accent-foreground);font-size:10.5px;font-weight:600;vertical-align:1px}
.row-actions{display:flex;justify-content:flex-end;gap:2px}
.danger-text{color:var(--destructive)}
.pass-row{display:flex;gap:8px}.pass-row input{flex:1}
.person-active{display:flex;align-items:center;justify-content:space-between;gap:16px}
.person-active label{font-weight:600;font-size:14px}.person-active .field-help{margin:2px 0 0}
@media (max-width:800px){.role-legend{grid-template-columns:1fr}}
.interview{padding:28px 32px 24px}
.interview-kicker{display:flex;justify-content:space-between;gap:12px;color:#a0adc4;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.interview-why{margin:14px 0 8px;color:#7c8baa;font-size:13px}
.interview-ask{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.interview-ask h2{margin:0 0 16px;font-size:26px;line-height:1.3;letter-spacing:-.02em;max-width:40rem}
.interview-ask .lock-control{color:#a8b2c4;display:flex;align-items:center;gap:6px;font-size:11px;white-space:nowrap;margin-top:8px}
.interview textarea,.interview input[data-slot="input"]{min-height:120px}
.interview input[data-slot="input"]{min-height:44px}
.interview-example{margin-top:14px;padding:14px 16px;background:#f7f9fd;border:1px solid #edf0f7;border-radius:10px}
.interview-example span{display:flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.04em;color:#99a7c0}
.interview-example p{margin:6px 0 0;color:#6b7890;font-size:13px;line-height:1.6}
.interview-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px}
.interview-actions>div{display:flex;gap:8px;flex-wrap:wrap}
.chat-panel{padding:16px 18px 14px;display:flex;flex-direction:column;min-height:0}
.chat-log{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0;overflow:auto;padding:2px 4px 12px}
.chat-msg{max-width:min(82%,520px);padding:11px 14px;border-radius:16px;font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.chat-msg.bot{align-self:flex-start;background:#f4f6fb;border:1px solid #e7ecf5;border-bottom-left-radius:5px}
.chat-msg.user{align-self:flex-end;background:#eef2ff;border:1px solid #dfe6ff;border-bottom-right-radius:5px}
.chat-who{display:block;margin-bottom:4px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#8d99ae}
.chat-compose{display:flex;gap:8px;align-items:flex-end;border-top:1px solid #eef0f5;padding-top:12px}
.chat-compose textarea{flex:1;min-width:0;min-height:48px;max-height:120px}
.chat-actions{display:flex;gap:8px;align-items:center;flex:none}
.chat-panel .hint{margin:8px 0 0;color:#7c8baa;font-size:13px}
.intake-card{display:flex;flex-direction:column;gap:10px;width:min(100%,460px);max-width:min(100%,460px);white-space:normal}
.intake-card .form-field{display:flex;flex-direction:column;gap:5px;margin:0}
.intake-card input[data-slot=input]{height:38px}
.intake-card label{font-size:12px;font-weight:600;color:#56627a}
.chat-tools .text-button{position:relative;cursor:pointer}
.chat-tools input[type=file]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.intake-card input[type=file]{font-size:13px}
.intake-card small{color:#6b7280;font-size:12px}
.intake-card input{background:#fff}
.intake-card .error-text{margin:0;font-size:12.5px}
.intake-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:2px}
.intake-actions [data-slot=button]{gap:6px}
.chat-msg .spin{vertical-align:-2px;margin-right:4px}
.chat-tools{display:flex;justify-content:flex-start;padding:2px 0 8px}
.chat-tools .text-button{display:inline-flex;align-items:center;gap:6px;font-size:12.5px}
.chat-quick{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 10px}
.chat-quick [data-slot=button]{gap:6px}
.section-stepper>button{align-items:center}
.section-stepper>button>span.step-mark{margin-top:0}
.section-stepper>button>span.step-name{width:auto;height:auto;min-width:0;flex:1;border:0;border-radius:0;background:none;display:block;place-items:unset;color:inherit;font-size:12.5px;line-height:1.35;font-weight:inherit}
@media (min-width:768px){
  .editor-layout{grid-template-columns:232px minmax(0,1fr);align-items:stretch;height:calc(100vh - 292px);min-height:460px}
  .section-stepper{height:100%;max-height:none;overflow:auto;position:static;padding-right:6px}
  .chat-panel{height:100%}
}
@media (max-width:767px){
  .editor-layout{grid-template-columns:1fr;gap:12px;height:auto;min-height:0}
  .section-stepper{display:flex;flex-direction:row;align-items:center;gap:6px;height:auto;max-height:none;position:static;overflow-x:auto;overflow-y:hidden;padding:0 0 4px;scroll-snap-type:x mandatory}
  .stepper-progress{display:none}
  .section-stepper>button{flex:0 0 auto;width:auto;margin:0;padding:8px 10px;scroll-snap-align:start}
  .section-stepper>button>span.step-name{flex:none;white-space:nowrap}
  .chat-panel{height:auto;padding:12px}
  .chat-log{max-height:min(48vh,420px);flex:none}
  .chat-log:has(.intake-card){max-height:none}
  .intake-card{width:100%;max-width:100%}
  .chat-msg{max-width:92%}
  .chat-compose{flex-wrap:wrap}
  .chat-compose textarea{flex:1 1 100%}
  .chat-actions{width:100%;justify-content:flex-end}
  .page-head{align-items:flex-start}
  .page-head h1{font-size:26px}
  .client-detail-head{flex-wrap:wrap}
  .client-detail-head>div:nth-child(2){min-width:0}
  .doc-layout{grid-template-columns:1fr}
}
.lib-bars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 18px;margin:6px 0 18px;align-items:end}
.lib-bar{min-width:0}
.lib-bar small{display:flex;justify-content:flex-start;align-items:baseline;gap:8px;margin:0 0 6px;font-size:12px;line-height:1.35;color:var(--muted-foreground)}
.lib-bar small span{min-width:0}
.lib-bar small b{flex:none;color:var(--foreground);font-weight:600;font-variant-numeric:tabular-nums}
@media (max-width:1200px){.lib-bars{grid-template-columns:repeat(2,minmax(0,1fr))}}
.step-name{display:flex;flex-direction:column;align-items:flex-start;text-align:left}
.step-lib{font-size:10px;color:var(--muted-foreground);font-weight:500}
.v21-list{display:flex;flex-direction:column;gap:10px;margin:12px 0}
.v21-card{padding:14px;display:flex;flex-direction:column;gap:8px}
.v21-card-top{display:flex;align-items:center;gap:8px}
.v21-body{white-space:pre-wrap;margin:0}
.v21-actions{display:flex;flex-wrap:wrap;gap:8px}
.v21-split{display:grid;grid-template-columns:240px 1fr;gap:12px}
.v21-split .v21-card.active{border-color:var(--primary)}
.suggestion-box{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;padding:10px 12px;border:1px solid var(--border);border-radius:10px}
.scope-grid{display:flex;flex-wrap:wrap;gap:8px 14px;margin:8px 0 12px}
.scope-item{display:flex;align-items:center;gap:6px;font-size:13px}
@media (max-width:800px){.v21-split{grid-template-columns:1fr}}
@media (max-width:767px){
  [data-slot="tabs-list"]{display:flex;flex-wrap:wrap;width:100%;max-width:100%;height:auto;overflow:visible;row-gap:2px}
  [data-slot="tabs-trigger"]{flex:0 1 auto;height:auto;white-space:nowrap}
  .detail-tabs>[data-slot=tabs-list],.filter-tabs [data-slot=tabs-list]{overflow:visible;height:auto}
  .lib-bars{grid-template-columns:1fr}
  .lib-bar small{min-height:0}
  .client-detail-head{align-items:flex-start}
  .client-detail-head .head-actions{width:100%;margin-left:0;flex-wrap:wrap}
  .client-detail-head .head-actions>button{flex:1 1 140px}
  .client-meta{flex-wrap:wrap;gap:8px 14px}
  .reference-upload,.reference-layout,.connection-grid,.brand-overview,.brand-overview>aside,.knowledge-grid,.examples-grid{grid-template-columns:1fr}
  .reference-grid img,.doc-row img{max-width:100%;height:auto}
  .workspace-footer{flex-wrap:wrap;padding:14px 16px;gap:8px 14px}
  .topbar{padding:0 12px}
  .breadcrumbs{min-width:0}
  .breadcrumbs strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:42vw}
  .v21-card,.panel{min-width:0}
  .scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .scope-item{min-height:40px;gap:10px}
  .scope-item input[type=checkbox]{width:18px;height:18px}
  .knowledge-block .section-title .text-button,.brand-sidecard .text-button{padding:10px 12px;margin:-10px -12px}
}

/* client delete */
.client-danger{display:flex;flex-direction:column;gap:6px}
.client-danger .archive-button{justify-content:flex-start}
.delete-client{color:#b42318}
.delete-client:hover{background:#fef3f2;color:#912018}
.btn-danger,.btn-danger:hover{background:#d92d20;color:#fff}
.btn-danger:hover{background:#b42318}
.delete-list{font-size:14px;color:var(--muted-foreground,#555);margin:4px 0 14px}
.delete-list ul{margin:6px 0 8px 18px;list-style:disc}
.delete-list li{margin:2px 0}
.delete-list+.form-field{display:grid;gap:6px;margin-bottom:14px}
.delete-list+.form-field label{font-size:14px}

/* knowledge base article: outline on the left, the writing down the page */
.kb-doc{display:grid;grid-template-columns:180px minmax(0,1fr);gap:28px;align-items:start}
.kb-outline{position:sticky;top:12px;display:flex;flex-direction:column;max-height:calc(100vh - 24px);overflow:auto}
.kb-outline button{display:block;width:100%;padding:6px 0 6px 10px;border:0;border-left:2px solid #e6eaf1;background:none;text-align:left;font:inherit;font-size:13px;color:#3c475c;cursor:pointer}
.kb-outline button:hover{border-left-color:#3b5bdb;color:#3b5bdb}
.kb-page{max-width:740px}
.kb-page section{scroll-margin-top:76px;padding-top:8px}
.kb-page header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:22px;border-bottom:1px solid var(--border)}
.kb-page h2{margin:0 0 8px;font-size:20px;font-weight:680;letter-spacing:-.01em}
.kb-page h3{display:flex;align-items:center;gap:6px;margin:16px 0 4px;font-size:12px;font-weight:650;color:#667085}
.kb-page p{margin:0;font-size:15px;line-height:1.6;white-space:pre-wrap}
@media (max-width:800px){.kb-doc{grid-template-columns:1fr}.kb-outline{position:static;flex-direction:row;flex-wrap:wrap;gap:8px;max-height:none}.kb-outline button{width:auto;border-left:0;padding:4px 8px}}
/* knowledge base overview: a summary, then the sections with their facts */
.kb-summary{margin:0 0 14px;padding:22px 24px;border:1px solid var(--border);border-radius:12px;background:#fff}
.kb-summary .eyebrow{margin-bottom:8px}
.kb-summary p{margin:0;max-width:78ch;font-size:15px;line-height:1.55}
.kb-facts{display:flex;flex-direction:column;gap:8px;margin:14px 0 0}
.kb-facts div{display:grid;grid-template-columns:108px 1fr;gap:12px}
.kb-facts dt{font-size:12px;font-weight:650;color:#667085}
.kb-facts dd{margin:0;font-size:14px;line-height:1.45}
@media (max-width:700px){.kb-facts div{grid-template-columns:1fr;gap:2px}}
.kb-jump{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.kb-jump button{padding:5px 10px;border:1px solid var(--border);border-radius:99px;background:#fff;font:inherit;font-size:12.5px;cursor:pointer}
.kb-jump button:hover{background:var(--accent)}
.knowledge-block{scroll-margin-top:76px}
.knowledge-field p{white-space:pre-wrap}
.kb-gap{margin-top:16px}
.kb-gap h3{margin:0 0 8px;font-size:13px;color:var(--muted-foreground)}
.kb-gap div{display:flex;flex-wrap:wrap;gap:6px}
.kb-gap button,.kb-gap span{padding:4px 10px;border:1px solid var(--border);border-radius:99px;background:#fff;font:inherit;font-size:12px;color:#667085}
.kb-gap button{cursor:pointer}
.kb-chat-sum p{margin:0 0 4px;font-size:13.5px;line-height:1.45}
.kb-chat-sum p:last-child{margin:0}
.chat-overview{border-bottom:1px solid var(--border);padding:14px 16px 12px;background:#f7f9fd}
.chat-overview .eyebrow{font-size:11px;letter-spacing:.08em;color:#8b95a8;margin-bottom:4px}
.chat-overview .hint{margin:0 0 10px;font-size:12.5px}
.chat-panel{display:flex;flex-direction:column;min-height:0}
.chat-panel .chat-log{flex:1}

/* website review card in the editor chat */
.review-card{display:flex;flex-direction:column;gap:12px;width:min(100%,600px);max-width:min(100%,600px);white-space:normal}
.review-item{display:flex;flex-direction:column;gap:6px}
.review-item.off .review-head b{text-decoration:line-through;color:#8a94a8}
.review-head{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#3c475c;cursor:pointer}
.review-head input{width:16px;height:16px;accent-color:#3b5bdb}
.review-guess{font-size:11px;font-weight:600;color:#9a6700;background:#fff8e1;border:1px solid #f5e1a4;border-radius:999px;padding:1px 7px}
.review-item textarea{background:#fff;font-size:13.5px;min-height:38px}
.review-item.off textarea{opacity:.55}
.chat-log:has(.review-card){max-height:none}
@media (max-width:767px){.review-card{width:100%;max-width:100%}}

/* Brand assistant */
.ia-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr);gap:18px;align-items:start}
.ia-chat{height:calc(100vh - 260px);min-height:480px}
.ia-chat .chat-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ia-chat .chat-compose{flex-wrap:wrap}
.ia-chat input[type=file]{display:none}
.ia-panel{padding:16px 18px;max-height:calc(100vh - 260px);min-height:480px;overflow:auto}
.ia-score{margin:8px 0 14px}
.ia-category{border-top:1px solid #eef0f5}
.ia-summary{all:unset;box-sizing:border-box;width:100%;display:flex;justify-content:space-between;align-items:center;padding:11px 0;cursor:pointer;font-weight:600}
.ia-summary small{color:#7c8baa}
.ia-summary:focus-visible{outline:2px solid #526bc4;outline-offset:2px}
.ia-row{padding:8px 0 12px;border-top:1px dashed #eef0f5}
.ia-rowhead{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ia-row p{margin:4px 0;font-size:14px;white-space:normal;word-break:break-word}
.ia-none{color:#9aa5bd}
.ia-tag{font-size:11px;padding:2px 8px;border-radius:999px;background:#eef2ff;color:#3d52a0}
.ia-tag.review{background:#fff4e0;color:#8a5a00}
.ia-actions{display:flex;gap:6px;flex-wrap:wrap}
.ia-alt{background:#f6f8fd;border-radius:8px;padding:8px;font-size:13px;margin:6px 0}
.ia-changes{margin-top:10px;display:grid;gap:10px}
.ia-cat>b{display:block;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#7c8baa;margin-bottom:4px}
.ia-fact{display:grid;gap:1px;padding:6px 8px;border-left:3px solid #526bc4;background:#f6f8fd;border-radius:6px;margin-bottom:4px}
.ia-fact.kept{border-color:#c9a227;background:#fffaf0}
.ia-fact .ia-label{font-weight:600;font-size:13px}
.ia-fact .ia-value{font-size:13px;white-space:pre-line}
.ia-fact small{color:#7c8baa}
.ia-question{border:1px solid #526bc4}
@media (max-width:900px){.ia-layout{grid-template-columns:1fr}.ia-chat,.ia-panel{height:auto;max-height:none;min-height:0}.ia-chat .chat-log{max-height:60vh}}

/* A long unbroken name or word must wrap instead of stretching the page. */
h1,h2,h3,.back-button,.chat-msg,.table-brand,.ia-row p,.ia-value,.example-text{overflow-wrap:anywhere;min-width:0}

/* BrandRoom Custom Logo & Icons */
.wordmark{border:0;background:none;cursor:pointer;padding:4px 6px;border-radius:8px;transition:opacity .15s ease,background-color .15s ease;text-decoration:none;display:inline-flex;align-items:center}
.wordmark:hover{background-color:var(--accent)}
.br-login-mark{background:none!important;cursor:default!important;margin-bottom:6px!important;padding:0!important}
.brandroom-brand-logo{height:32px;width:auto;max-width:190px;object-fit:contain;display:block}
.brandroom-login-logo{height:42px;width:auto;max-width:250px;object-fit:contain;display:block}
.app-mark{background:transparent!important;box-shadow:none!important;padding:0!important;width:auto!important;height:auto!important;display:inline-flex!important;align-items:center;justify-content:center}
.app-mark img,.app-mark svg{width:36px;height:30px;object-fit:contain;display:block}
.large-app-mark{background:transparent!important;box-shadow:none!important;width:auto!important;height:auto!important;display:inline-flex!important;align-items:center;justify-content:center;margin-bottom:12px}
.large-app-mark img,.large-app-mark svg{width:56px;height:46px;object-fit:contain;display:block}

/* Knowledge base document */
.iakb-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.iakb-doc{font-size:14.5px;line-height:1.6;color:#1b2540}
.iakb-doc .iakb-title{font-size:20px;margin:0 0 6px;font-weight:700}
.iakb-doc .iakb-h{font-size:15px;margin:20px 0 6px;padding-top:12px;border-top:1px solid #eef0f5;font-weight:700}
.iakb-doc p{margin:6px 0}
.iakb-doc ul{margin:6px 0;padding-left:20px}
.iakb-doc li{margin:3px 0}
.iakb-doc .iakb-note{color:#7c8baa;font-size:13px}
.iakb-empty{padding:28px 8px;text-align:center;color:#5b6a8a}
.iakb-empty p{margin:8px auto 0;max-width:340px;font-size:14px}
.iakb-stale{background:#fff7e6;border-radius:8px;padding:8px 10px}
#kb-edit{width:100%;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;line-height:1.5}

/* ================= Brand assistant: modern ================= */
.ax-page{max-width:1280px;margin:0 auto}
.ax-hero{margin:6px 0 22px}
.ax-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.02em;color:#3f5de9;background:linear-gradient(135deg,#eef1ff,#f3ecff);border:1px solid #e1e6ff}
.ax-hero h1{margin:12px 0 6px;font-size:clamp(26px,3.2vw,36px);line-height:1.12;font-weight:750;letter-spacing:-.02em;color:#141a2e}
.ax-hero h1 span{background:linear-gradient(120deg,#3f5de9,#8a4fff);-webkit-background-clip:text;background-clip:text;color:transparent}
.ax-hero p{margin:0;max-width:640px;color:#5d6882;font-size:15px;line-height:1.6}
.ax-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:22px;align-items:start}
.ax-card{background:#fff;border:1px solid #e8ebf5;border-radius:22px;box-shadow:0 1px 2px rgba(16,24,40,.04),0 18px 40px -18px rgba(63,93,233,.18)}
.ax-chat{position:relative;display:flex;flex-direction:column;height:calc(100vh - 300px);min-height:560px;overflow:hidden}
.ax-chat-head{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid #eef0f8;background:linear-gradient(180deg,#fafbff,#fff)}
.ax-chat-head b{display:block;font-size:14.5px;color:#141a2e}
.ax-chat-head small{display:flex;align-items:center;gap:6px;color:#6b7691;font-size:12.5px}
.ax-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:#fff;background:linear-gradient(135deg,#3f5de9,#8a4fff);box-shadow:0 6px 14px -4px rgba(95,80,240,.55);flex:none}
.ax-avatar.sm{width:28px;height:28px;border-radius:9px;box-shadow:none}
.ax-dot{width:8px;height:8px;border-radius:50%;background:#2fbf71;box-shadow:0 0 0 3px rgba(47,191,113,.18)}
.ax-dot.busy{background:#f5a524;box-shadow:0 0 0 3px rgba(245,165,36,.2);animation:axpulse 1.2s infinite}
@keyframes axpulse{50%{opacity:.4}}
.ax-log{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:14px;padding:20px;scroll-behavior:smooth}
.ax-row{display:flex;align-items:flex-end;gap:10px;max-width:100%}
.ax-row.mine{justify-content:flex-end}
.ax-bubble{max-width:min(88%,560px);padding:12px 15px;border-radius:18px 18px 18px 6px;background:#f4f6fc;color:#1c2540;font-size:14.5px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.ax-bubble.mine{background:linear-gradient(135deg,#3f5de9,#5b6cf0);color:#fff;border-radius:18px 18px 6px 18px;box-shadow:0 8px 18px -10px rgba(63,93,233,.7)}
.ax-bubble.q{background:#fff;border:1.5px solid #d9e0ff;box-shadow:0 8px 22px -14px rgba(63,93,233,.5)}
.ax-qlabel{display:block;margin-bottom:3px;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#3f5de9}
.ax-chip-msg{display:inline-flex;align-items:center;gap:8px;max-width:88%;padding:8px 13px;border-radius:999px;background:#eef1ff;color:#2d46c9;font-size:13.5px;font-weight:550;border:1px solid #dde3ff;overflow:hidden}
.ax-chip-msg span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ax-facts{display:grid;gap:10px;margin-top:12px;white-space:normal}
.ax-fact-group>b{display:block;margin:0 0 5px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#7c88a6}
.ax-fact{display:grid;gap:1px;padding:8px 11px;margin-bottom:5px;border-radius:12px;background:#fff;border:1px solid #e6eaf7;border-left:3px solid #3f5de9}
.ax-fact.kept{border-left-color:#d4a017;background:#fffdf5}
.ax-fact span{font-size:12.5px;font-weight:650;color:#26304e}
.ax-fact em{font-style:normal;font-size:13px;color:#46526f;white-space:pre-line}
.ax-bubble.typing{display:flex;align-items:center;gap:5px;color:#6b7691;font-size:13.5px}
.ax-bubble.typing i{width:6px;height:6px;border-radius:50%;background:#8b97b8;animation:axbounce 1s infinite}
.ax-bubble.typing i:nth-child(2){animation-delay:.15s}.ax-bubble.typing i:nth-child(3){animation-delay:.3s}
.ax-bubble.typing span{margin-left:6px}
@keyframes axbounce{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.ax-suggest{display:flex;flex-wrap:wrap;gap:8px;padding:6px 20px 0}
.ax-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:34px;min-width:34px;padding:0 10px;border-radius:11px;border:1px solid #e3e7f4;background:#fff;color:#33405f;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,transform .1s}
.ax-btn:hover:not(:disabled){background:#f4f6ff;border-color:#cfd7fb}
.ax-btn:active:not(:disabled){transform:scale(.97)}
.ax-btn:disabled{opacity:.5;cursor:default}
.ax-btn.text{padding:0 13px}
.ax-btn.primary{color:#fff;border-color:transparent;background:linear-gradient(135deg,#3f5de9,#6a4cf0);box-shadow:0 8px 18px -10px rgba(63,93,233,.8)}
.ax-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#3552dc,#5f43e6)}
.ax-btn input[type=file]{display:none}
.ax-compose{display:flex;align-items:flex-end;gap:10px;margin:12px 16px 16px;padding:8px 8px 8px 16px;border:1.5px solid #e1e6f6;border-radius:18px;background:#fbfcff;transition:border-color .15s,box-shadow .15s}
.ax-compose:focus-within{border-color:#8da0f5;box-shadow:0 0 0 4px rgba(63,93,233,.1);background:#fff}
.ax-compose textarea{flex:1;min-width:0;min-height:38px;max-height:140px;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;resize:none;padding:8px 0;font-size:14.5px}
.ax-send{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;border:0;cursor:pointer;color:#fff;background:linear-gradient(135deg,#3f5de9,#6a4cf0);box-shadow:0 8px 16px -8px rgba(63,93,233,.9);transition:transform .1s,opacity .15s}
.ax-send:hover:not(:disabled){transform:translateY(-1px)}
.ax-send:disabled{opacity:.45;cursor:default}
.ax-hint{margin:10px 20px 0;color:#6b7691;font-size:13px;line-height:1.5}
.ax-hint.warn{background:#fff8e8;border-radius:10px;padding:8px 12px;color:#8a5a00}
.ax-drop{position:absolute;inset:0;z-index:5;display:none;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:rgba(244,246,255,.92);border:2px dashed #7d92f2;border-radius:22px;color:#2d46c9;backdrop-filter:blur(2px)}
.ax-chat.drag .ax-drop{display:flex}
.ax-drop b{font-size:16px}.ax-drop small{color:#5d6882}
/* the document */
.ax-doc{display:flex;flex-direction:column;min-height:560px}
.ax-doc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;padding:20px 24px 14px}
.ax-eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#7c88a6}
.ax-doc-head h2{margin:4px 0 8px;font-size:22px;font-weight:750;letter-spacing:-.01em;color:#141a2e}
.ax-tools{display:flex;gap:6px;flex-wrap:wrap}
.ax-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}
.ax-pill.ok{background:#e8f8ef;color:#1d7a47}.ax-pill.warn{background:#fff1d6;color:#8a5a00}
.ax-sources{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:0 24px 12px}
.ax-sources small{color:#7c88a6;font-size:12px;margin-right:2px}
.ax-src{display:inline-flex;align-items:center;gap:5px;max-width:220px;padding:3px 10px;border-radius:999px;background:#f2f4fb;color:#43506f;font-size:12px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ax-src.bad{background:#fdecec;color:#a33}
.ax-doc-body{padding:4px 24px 26px;overflow:auto}
.ax-stale{display:flex;align-items:center;gap:8px;margin:0 0 14px;padding:9px 12px;border-radius:12px;background:#fff7e6;color:#8a5a00;font-size:13px}
.iakb-doc{display:block;font-size:15px;line-height:1.7;color:#232c47;max-width:68ch}
.iakb-doc .iakb-title{font-size:0;margin:0}
.iakb-doc .iakb-title{display:none}
.iakb-doc .iakb-note{display:none}
.iakb-doc .iakb-h{position:relative;margin:26px 0 8px;padding:0 0 0 14px;border:0;font-size:16px;font-weight:750;letter-spacing:-.005em;color:#141a2e}
.iakb-doc .iakb-h:before{content:"";position:absolute;left:0;top:.2em;bottom:.2em;width:4px;border-radius:4px;background:linear-gradient(180deg,#3f5de9,#8a4fff)}
.iakb-doc p{margin:7px 0}
.iakb-doc ul{margin:8px 0;padding:0;list-style:none}
.iakb-doc li{position:relative;margin:6px 0;padding-left:20px}
.iakb-doc li:before{content:"";position:absolute;left:4px;top:.72em;width:6px;height:6px;border-radius:50%;background:#7d92f2}
.iakb-doc b{color:#141a2e;font-weight:650}
.ax-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:36px 8px 8px}
.ax-orb{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;color:#fff;background:linear-gradient(135deg,#3f5de9,#8a4fff);box-shadow:0 14px 30px -12px rgba(95,80,240,.7)}
.ax-empty h3{margin:18px 0 6px;font-size:18px;font-weight:700;color:#141a2e}
.ax-empty p{margin:0 0 18px;max-width:380px;color:#5d6882;font-size:14.5px;line-height:1.6}
.ax-empty ol{list-style:none;display:grid;gap:8px;padding:0;margin:0;width:100%;max-width:380px;text-align:left}
.ax-empty li{display:flex;gap:10px;align-items:baseline;padding:11px 14px;border-radius:14px;background:#f6f8ff;border:1px solid #e9edfb;font-size:13.5px;color:#46526f}
.ax-empty li b{color:#2d46c9;min-width:58px}
.ax-skeleton{display:grid;gap:12px;padding:14px 0}
.ax-skeleton i{display:block;height:12px;border-radius:8px;background:linear-gradient(90deg,#eef0f8 25%,#f8f9fe 37%,#eef0f8 63%);background-size:300% 100%;animation:axshimmer 1.3s infinite}
@keyframes axshimmer{0%{background-position:100% 0}100%{background-position:0 0}}
#kb-edit{width:100%;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;line-height:1.55;border-radius:14px}
@media (max-width:1020px){.ax-grid{grid-template-columns:1fr}.ax-chat{height:auto;min-height:0;max-height:78vh}.ax-doc{min-height:0}}
@media (prefers-reduced-motion:reduce){.ax-dot.busy,.ax-bubble.typing i,.ax-skeleton i{animation:none}.ax-log{scroll-behavior:auto}}

/* fit the window: only the chat and the document scroll */
html:has(.ax-page),body:has(.ax-page){overflow:hidden}
body:has(.ax-page) footer{display:none}
.ax-page{display:flex;flex-direction:column;max-width:1440px;margin:0 auto;height:calc(100dvh - 90px)}
.ax-grid{flex:1;min-height:0;align-items:stretch}
.ax-chat{height:auto;min-height:0}
.ax-doc{height:100%;min-height:0;overflow:hidden}
.ax-doc-body{flex:1;min-height:0;overflow:auto}
.ax-back{display:grid;place-items:center;width:34px;height:34px;margin-left:-6px;border:0;border-radius:10px;background:transparent;color:#5d6882;cursor:pointer;flex:none}
.ax-back:hover{background:#eef1ff;color:#2d46c9}
@media (max-width:1020px){html:has(.ax-page),body:has(.ax-page){overflow:auto}body:has(.ax-page) footer{display:block}.ax-page{height:auto}.ax-chat{height:72vh;max-height:none}.ax-doc{height:auto;min-height:420px}}

/* client page: the written knowledge base */
.kbp-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 12px}
.kbp-bar small{color:#7c88a6}
.kb-page .iakb-doc{max-width:none}
