*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%;background:#0d1117;color:#e6edf3;font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{height:100%;display:flex;flex-direction:column;overflow:hidden}button{font-family:inherit;cursor:pointer}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82em;padding:.1em .4em;border-radius:4px;background:#6e768133;border:1px solid rgba(110,118,129,.3)}.shell-chat{flex:1;display:flex;flex-direction:column;width:100%;min-height:0;padding:0}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0;background:#0d1117f7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-brand{display:flex;flex-direction:column;gap:.1rem}.app-title{font-size:1.1rem;font-weight:800;letter-spacing:-.03em;margin:0;color:#e6edf3;background:linear-gradient(90deg,#79c0ff,#a5d6ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.app-subtitle{margin:0;font-size:.75rem;color:#7d8590}.header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.status-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .75rem;border-radius:999px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);font-size:.76rem;color:#7d8590;white-space:nowrap}.status-badge.connected{color:#3fb950;border-color:#3fb95059;background:#3fb95014}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.4rem .85rem;font-size:.82rem;font-weight:500;border-radius:6px;border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s;text-decoration:none;white-space:nowrap}.btn-primary{background:#1f6feb;border-color:#1f6feb80;color:#fff}.btn-primary:hover{background:#388bfd}.btn-secondary{background:#6e778159;border-color:#f0f6fc26;color:#e6edf3}.btn-secondary:hover{background:#6e778180}.btn-outline{background:transparent;border-color:#f0f6fc33;color:#cdd9e5}.btn-outline:hover{background:#ffffff12;border-color:#f0f6fc59}.btn-ghost{background:none;border:none;color:#7d8590;padding:.35rem .5rem;font-size:.78rem}.btn-ghost:hover{color:#cdd9e5}.main-chat,.chat-section{flex:1;display:flex;flex-direction:column;min-height:0}.chat-split{flex:1;display:flex;min-height:0;overflow:hidden}.chat-left{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0;padding:0 1rem 0 1.25rem;max-width:980px}.chat-right{width:460px;flex-shrink:0;display:none;flex-direction:column;min-height:0;background:linear-gradient(180deg,#0f1622,#0b1018);border-left:1px solid rgba(255,255,255,.07)}@media(min-width:960px){.chat-split{display:grid;grid-template-columns:minmax(0,56%) minmax(420px,44%)}.chat-right{display:flex;width:auto}.chat-left{max-width:none}}@media(min-width:1280px){.chat-split{grid-template-columns:minmax(0,54%) minmax(500px,46%)}}@media(min-width:1600px){.chat-split{grid-template-columns:minmax(0,52%) minmax(560px,48%)}}.report-pane{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.report-pane-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0;background:linear-gradient(180deg,#79c0ff14,#79c0ff05)}.report-pane-label{display:flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:700;color:#9da7b3;text-transform:uppercase;letter-spacing:.06em}.report-pane-label:before{content:"⬡";font-size:.75rem;color:#3fb950}.report-pane-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:3rem 2rem;color:#4b5563;text-align:center}.report-pane-empty-icon{font-size:2.5rem;opacity:.3}.report-pane-empty p{margin:0;font-size:.85rem;line-height:1.6}.report-pane-empty code{font-size:.8rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);padding:.1em .4em;border-radius:4px;color:#9da7b3}.report-pane .report-card{flex:1;display:flex;flex-direction:column;margin:0;border:none;border-radius:0;background:transparent;min-height:0;overflow:hidden}.report-pane .report-table-wrap{flex:1;overflow:auto;max-height:none;padding:0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.08) transparent}.report-pane .report-table-wrap::-webkit-scrollbar{width:4px;height:4px}.report-pane .report-table-wrap::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:999px}.report-pane .report-head{padding:.7rem 1rem;border-bottom:1px solid rgba(255,255,255,.06);border-radius:0;background:#ffffff05;flex-shrink:0}.report-pane .report-title{font-size:.9rem;font-weight:700}.report-pane .report-note{padding:.45rem 1rem 0;flex-shrink:0}.report-pane .report-table{font-size:.82rem}.report-pane .report-table th,.report-pane .report-table td{padding:.5rem .9rem;white-space:nowrap}.report-pane .report-foot{padding:.4rem 1rem .6rem;flex-shrink:0}.report-mobile-only{display:block}.report-wide-only{display:none;color:#9da7b3;font-size:.85rem}@media(min-width:960px){.report-mobile-only{display:none}.report-wide-only{display:block}}.chat-messages{flex:1;overflow-y:auto;padding:1.5rem 0 1rem;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.08) transparent}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:999px}.chat-thread{display:flex;flex-direction:column;gap:1.5rem;max-width:100%}.msg-row{display:flex;gap:.75rem;align-items:flex-start}.msg-row.user{flex-direction:row-reverse}.msg-avatar{width:1.9rem;height:1.9rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0;margin-top:.1rem}.msg-avatar.agent-avatar{background:linear-gradient(135deg,#4f46e5,#0ea5e9);color:#fff;box-shadow:0 0 0 2px #4f46e540}.msg-avatar.user-avatar{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#cdd9e5}.msg-body{flex:1;min-width:0}.msg-name{font-size:.73rem;font-weight:700;color:#7d8590;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.04em}.msg-row.user .msg-name{text-align:right}.msg-bubble{display:inline-block;max-width:88%;padding:.65rem 1rem;border-radius:14px;font-size:.9rem;line-height:1.6;word-break:break-word}.msg-row.user .msg-bubble{background:#1f6feb;color:#fff;border-radius:14px 14px 2px;float:right}.msg-row.assistant .msg-bubble{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:2px 14px 14px;color:#cdd9e5;max-width:100%}.msg-bubble .msg-link{color:#58a6ff;text-decoration:underline;word-break:break-all}.report-card{margin-top:.5rem;border:1px solid rgba(255,255,255,.1);background:#ffffff05;border-radius:10px;overflow:hidden}.report-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .85rem;border-bottom:1px solid rgba(255,255,255,.07);background:#ffffff05}.report-title{font-weight:700;font-size:.88rem;color:#e6edf3}.report-download{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;padding:.35rem .75rem;border-radius:8px;border:1px solid rgba(31,111,235,.5);background:#1f6feb24;color:#79c0ff;text-decoration:none;font-weight:700;font-size:.8rem;white-space:nowrap;transition:background .15s,border-color .15s}.report-download:before{content:"↓ ";font-size:.9em}.report-download:hover{background:#1f6feb47;border-color:#1f6febcc}.report-note{padding:.55rem .85rem 0;color:#9da7b3;font-size:.78rem}.report-table-wrap{max-height:260px;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.08) transparent}.report-table-wrap::-webkit-scrollbar{width:4px;height:4px}.report-table-wrap::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:999px}.report-table{width:100%;border-collapse:collapse;font-size:.81rem}.report-table th,.report-table td{padding:.38rem .65rem;border-bottom:1px solid rgba(255,255,255,.06);text-align:left;vertical-align:middle;white-space:nowrap}.report-table tbody tr:last-child td{border-bottom:none}.report-table tbody tr:hover td{background:#ffffff08}.report-pane .report-table tbody tr:nth-child(2n) td{background:#ffffff04}.report-table th{position:sticky;top:0;background:#121a26;color:#9da7b3;font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;z-index:1;border-bottom:1px solid rgba(121,192,255,.14)}.report-foot{padding:.4rem .85rem .6rem;color:#4b5563;font-size:.72rem}.msg-row.system .msg-bubble{background:#6e76811a;border:1px dashed rgba(110,118,129,.3);color:#7d8590;font-size:.8rem;border-radius:8px;max-width:100%}.clearfix:after{content:"";display:table;clear:both}.typing-indicator{display:flex;gap:.3rem;align-items:center;padding:.4rem 0}.typing-dot{width:6px;height:6px;border-radius:50%;background:#7d8590;animation:typing-bounce 1.2s infinite ease-in-out}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}}.suggestions-wrap{margin-top:2rem;display:flex;flex-direction:column;align-items:flex-start;gap:.6rem}.suggestions-label{font-size:.78rem;color:#7d8590;margin:0}.suggestions-chips{display:flex;flex-wrap:wrap;gap:.45rem;max-width:640px}.suggestion-chip{padding:.42rem .9rem;font-size:.8rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#cdd9e5;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.suggestion-chip:hover:not(:disabled){background:#1f6feb2e;border-color:#1f6feb80;color:#79c0ff}.suggestion-chip:disabled{opacity:.35;cursor:not-allowed}.input-area{flex-shrink:0;padding:.75rem 0 1rem;border-top:1px solid rgba(255,255,255,.07)}.chat-input-wrap{display:flex;align-items:center;gap:.5rem;padding:.5rem .5rem .5rem 1rem;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;transition:border-color .15s,background .15s}.chat-input-wrap:focus-within{border-color:#1f6feb8c;background:#ffffff0f}.chat-input-wrap input[type=text]{flex:1;border:none;background:transparent;padding:.35rem 0;color:#e6edf3;font-size:.92rem;min-width:0}.chat-input-wrap input[type=text]::placeholder{color:#4b5563}.chat-input-wrap input[type=text]:focus{outline:none}.send-button{width:2.1rem;height:2.1rem;min-width:2.1rem;border-radius:8px;border:none;background:#1f6feb;color:#fff;font-size:.95rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,opacity .15s;flex-shrink:0}.send-button:hover:not(:disabled){background:#388bfd}.send-button:disabled{opacity:.3;cursor:default}.alert{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin:.6rem 0;padding:.6rem .85rem;border-radius:8px;background:#f851491a;border:1px solid rgba(248,81,73,.3);color:#ffa198;font-size:.83rem}.alert-hint{margin:.3rem 0 0;font-size:.76rem;opacity:.85}.backend-hint{text-align:center;font-size:.7rem;color:#30363d;padding:.35rem 0 .5rem;flex-shrink:0}.link-button{background:none;border:none;color:#58a6ff;padding:0;font-size:inherit;cursor:pointer;text-decoration:none}.link-button:hover{text-decoration:underline;color:#79c0ff}@media(max-width:640px){.app-header{padding:.65rem 1rem}.chat-left{padding:0 .85rem}.app-header{flex-wrap:wrap}.status-badge span.tenant-text{display:none}.msg-bubble{max-width:95%!important}.suggestion-chip{font-size:.76rem;padding:.38rem .65rem}.chat-thread{max-width:100%}}
