:root{--bg: #f0f2f6;--surface-1: #fff;--surface-2: #fafbfd;--border: #d5d9e2;--text: #1c2433;--text-2: #3d4a5c;--text-3: #6b7a90;--brand-navy: #1e345e;--brand-navy-soft: rgba(30,52,94,.08);--accent: #00b380;--red: #b53d2e;--shadow-sm: 0 1px 2px rgba(28,36,51,.04), 0 1px 3px rgba(28,36,51,.06);--shadow-md: 0 2px 4px rgba(28,36,51,.04), 0 8px 20px rgba(28,36,51,.06)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif}.app{flex-direction:column;height:100vh}.topbar{background:#ffffffb8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:12px 16px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.logo{width:36px;height:36px;border-radius:50%;background:var(--brand-navy);display:flex;align-items:center;justify-content:center}.logo:after{content:"💬";font-size:18px}.brand-title{font-weight:600;font-size:15px}.brand-sub{font-size:12px;color:var(--text-3)}.topbar-actions{display:flex;gap:8px}.pill{background:#fff;border:1px solid var(--border);border-radius:999px;padding:6px 12px;font-size:12px;color:var(--text-2);cursor:pointer}.pill:hover{background:#f5f7fa}.messages{flex:1;overflow-y:auto;padding:24px 16px 180px;max-width:768px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:12px}.bubble-row{display:flex}.bubble-row.left{justify-content:flex-start}.bubble-row.right{justify-content:flex-end}.bubble{max-width:85%;padding:10px 16px;font-size:15px;line-height:1.5;white-space:pre-wrap;box-shadow:var(--shadow-sm)}.bubble.user{background:var(--brand-navy);color:#fff;border-radius:14px 14px 4px}.bubble.bot{background:#fff;border:1px solid var(--border);border-radius:14px 14px 14px 4px}.bubble.dots{display:inline-flex;gap:4px;padding:12px 16px}.bubble.dots span{width:6px;height:6px;background:var(--text-3);border-radius:50%;animation:blink 1.2s infinite ease-in-out both}.bubble.dots span:nth-child(2){animation-delay:.2s}.bubble.dots span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.2}40%{opacity:1}}.chart-card{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;border-left:3px solid var(--accent);padding:16px;max-width:85%;width:100%;align-self:flex-start}.chart-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.chart-title{font-weight:600;font-size:14px}.chart-cap{font-size:11px;padding:2px 8px;border-radius:999px;background:var(--brand-navy-soft);color:var(--brand-navy)}.ticket-card{background:#00b38014;border:1px solid rgba(0,179,128,.3);border-radius:10px;padding:16px;max-width:85%;width:100%;align-self:flex-start}.ticket-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.ticket-title{font-weight:600;font-size:14px;color:var(--brand-navy)}.ticket-sev{margin-left:auto;background:#fff;border:1px solid var(--border);padding:2px 8px;border-radius:999px;font-size:11px;color:var(--text-2);text-transform:uppercase}.ticket-ref{font-size:12px;color:var(--text-2)}.ticket-ref .mono{font-family:JetBrains Mono,monospace;font-weight:600}.ticket-hint{font-size:12px;color:var(--text-3);margin-top:4px}.composer-wrap{position:fixed;left:0;right:0;bottom:0;background:linear-gradient(to top,var(--bg) 60%,rgba(240,242,246,0));padding:16px}.composer{max-width:768px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-md);display:flex;align-items:flex-end;gap:8px;padding:8px}.composer textarea{flex:1;resize:none;border:0;outline:0;background:transparent;font-size:15px;padding:8px 12px;min-height:36px;max-height:140px;font-family:inherit;color:var(--text)}.composer .mic,.composer .send{width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:#fff;cursor:pointer;font-size:18px}.composer .mic.on{background:var(--red);color:#fff;border-color:var(--red)}.composer .send{background:var(--brand-navy);color:#fff;border-color:var(--brand-navy)}.hint{max-width:768px;margin:8px auto 0;text-align:center;font-size:11px;color:var(--text-3)}
