*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}:focus-visible{outline:2px solid #3b82f6;outline-offset:1px}::selection{background:#3b82f633;color:#e4e4e7}[data-theme=light] ::selection{background:#2563eb26;color:#111827}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}.login-page{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;overflow:hidden}.login-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#18181b;z-index:0}.login-layout{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;height:100vh;height:100dvh;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}.login-hero{display:none}.login-side{display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vh,24px);width:100%}.login-panel{width:100%;max-width:clamp(300px,90vw,360px)}.login-panel__header{margin-bottom:clamp(20px,4vh,32px);text-align:center}.login-panel__logo{width:clamp(36px,6vw,40px);height:clamp(36px,6vw,40px);margin:0 auto clamp(12px,2vh,16px);display:block}.login-panel__title{font-size:clamp(18px,4vw,20px);font-weight:600;color:#e4e4e7;margin:0 0 clamp(4px,1vh,8px);letter-spacing:-.01em}.login-panel__subtitle{font-size:clamp(13px,3vw,14px);color:#71717a;margin:0;line-height:1.45}.login-form{display:flex;flex-direction:column;gap:clamp(12px,3vh,16px)}.login-field{display:flex;flex-direction:column;gap:clamp(4px,1vh,6px)}.login-field__label{font-size:clamp(12px,2.5vw,13px);font-weight:500;color:#a1a1aa}.login-field__input{height:clamp(44px,6vh,48px);padding:0 clamp(12px,3vw,16px);background:#2c2c32;border:1px solid rgba(255,255,255,.06);border-radius:clamp(4px,1vw,6px);color:#e4e4e7;font-size:clamp(14px,3vw,16px);outline:none;transition:border-color .12s ease,background .12s ease}.login-field__input::placeholder{color:#71717a}.login-field__input:focus{border-color:#3b82f6;background:#232328}.login-field__input:disabled{opacity:.5;cursor:not-allowed}.login-submit{margin-top:clamp(4px,1vh,8px);height:clamp(44px,6vh,48px);padding:0 clamp(16px,4vw,20px);background:transparent;color:#3b82f6;font-size:clamp(14px,3vw,15px);font-weight:500;border:1px solid rgba(59,130,246,.25);border-radius:clamp(4px,1vw,6px);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.login-submit:hover:not(:disabled){background:#3b82f61f;border-color:#3b82f666;color:#60a5fa}.login-submit:disabled{cursor:not-allowed;opacity:.4;border-color:#ffffff0f;color:#71717a}.login-submit__spinner{display:inline-flex;align-items:center;gap:clamp(6px,2vw,8px);justify-content:center;width:100%;height:100%}.login-submit__spinner-ring{display:inline-block;width:clamp(14px,3vw,16px);height:clamp(14px,3vw,16px);border:1.5px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-error{display:flex;align-items:flex-start;gap:clamp(6px,2vw,8px);padding:clamp(10px,2vh,12px) clamp(10px,3vw,14px);background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:clamp(4px,1vw,6px)}.login-error__icon{flex-shrink:0;width:clamp(16px,4vw,18px);height:clamp(16px,4vw,18px);margin-top:clamp(2px,.5vh,3px);color:#ef4444}.login-error__text{flex:1;font-size:clamp(12px,3vw,13px);color:#ffffffb3;margin:0;line-height:1.4}.login-error__dismiss{flex-shrink:0;background:none;border:none;color:#fff6;font-size:clamp(18px,5vw,22px);cursor:pointer;padding:clamp(8px,2vw,12px);line-height:1;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.login-error__dismiss:hover{color:#e4e4e7}@media(max-width:768px){.login-side{padding-left:clamp(12px,3vw,16px);padding-right:clamp(12px,3vw,16px)}.login-panel{max-width:min(360px,calc(100% - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 24px))}}@media(max-width:480px){.login-panel{max-width:calc(100% - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 24px)}.login-form{gap:14px}.login-side{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}@media(max-width:768px)and (orientation:landscape){.login-panel{max-width:min(400px,calc(100vw - 48px))}.login-panel__header{margin-bottom:clamp(12px,3vh,20px)}}.it{margin:.5em 0}.it__toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.it__tools,.it__actions{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem}.it__btn{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.75rem;font-family:inherit;color:var(--text-secondary, #a1a1aa);background:transparent;border:1px solid var(--border-medium, rgba(255, 255, 255, .1));border-radius:var(--radius-sm, 4px);cursor:pointer;transition:color .15s,background-color .15s,border-color .15s}.it__btn:hover{color:var(--text-primary, #e4e4e7);background:var(--bg-surface-hover, #2a2a30)}.it__btn--active{color:var(--accent, #3b82f6);border-color:var(--accent, #3b82f6)}.it__btn--ghost{border-style:dashed}.it__badge{display:inline-flex;align-items:center;justify-content:center;min-width:1rem;height:1rem;padding:0 .25rem;border-radius:999px;background:var(--accent, #3b82f6);color:#fff;font-size:.625rem;font-weight:600}.it__chip{padding:.25rem .625rem;font-size:.75rem;font-family:inherit;color:var(--accent, #3b82f6);background:transparent;border:1px solid transparent;border-radius:999px;cursor:pointer;transition:background-color .15s,border-color .15s,opacity .15s}.it__chip:hover{background:#3b82f61f;border-color:#3b82f659}.it__chip:disabled{opacity:.45;cursor:not-allowed}.it__error{margin-bottom:.5rem;padding:.5rem .75rem;font-size:.8rem;color:#f87171;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm, 4px)}.it__cols{position:relative}.it__cols-list{position:absolute;top:calc(100% + .375rem);left:0;z-index:20;min-width:11rem;max-height:15rem;overflow-y:auto;padding:.5rem;background:var(--bg-surface, #232328);border:1px solid var(--border-medium, rgba(255, 255, 255, .1));border-radius:var(--radius-md, 6px);box-shadow:0 8px 24px #00000059}.it__cols-item{display:flex;align-items:center;gap:.5rem;padding:.3rem .375rem;font-size:.8rem;color:var(--text-secondary, #a1a1aa);cursor:pointer;border-radius:var(--radius-sm, 4px)}.it__cols-item:hover{background:var(--bg-surface-hover, #2a2a30);color:var(--text-primary, #e4e4e7)}.it__cols-item input[type=checkbox]{accent-color:var(--accent, #3b82f6)}.it__filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem;padding:.625rem .75rem;margin-bottom:.5rem;background:var(--bg-surface, #232328);border:1px solid var(--border-subtle, rgba(255, 255, 255, .06));border-radius:var(--radius-md, 6px)}.it__filter{display:flex;flex-direction:column;gap:.25rem}.it__filter-label{font-size:.65rem;letter-spacing:.03em;text-transform:uppercase;color:var(--text-tertiary, #71717a)}.it__filter-input{width:9rem;padding:.3rem .5rem;font-size:.8rem;font-family:inherit;color:var(--text-primary, #e4e4e7);background:var(--bg-app, #18181b);border:1px solid var(--border-medium, rgba(255, 255, 255, .1));border-radius:var(--radius-sm, 4px);outline:none}.it__filter-input:focus{border-color:var(--accent, #3b82f6)}.it__table-wrap{overflow-x:auto;border:1px solid var(--border-subtle, rgba(255, 255, 255, .06));border-radius:var(--radius-md, 6px)}.it__table{width:100%;border-collapse:collapse;font-size:.875rem}.it__thead{background:var(--bg-surface-hover, #2a2a30)}.it__th{padding:.65rem 1rem;text-align:left;font-weight:600;color:var(--text-primary, #e4e4e7);border-bottom:2px solid var(--border-medium, rgba(255, 255, 255, .1));cursor:pointer;-webkit-user-select:none;user-select:none}.it__th:hover{color:var(--accent, #3b82f6)}.it__th-text{margin-right:.375rem}.it__sort{font-size:.7rem;color:var(--text-tertiary, #71717a)}.it__td{padding:.65rem 1rem;border-bottom:1px solid var(--border-subtle, rgba(255, 255, 255, .06));color:var(--text-secondary, #a1a1aa)}.it__tbody tr:nth-child(2n){background:#ffffff05}.it__tfoot{background:var(--bg-surface-hover, #2a2a30)}.it__td--total{font-weight:600;color:var(--text-primary, #e4e4e7);border-bottom:none;border-top:2px solid var(--border-medium, rgba(255, 255, 255, .1))}.it__empty{padding:.75rem 1rem;font-size:.8rem;color:var(--text-tertiary, #71717a);text-align:center}.md-content{color:var(--text-secondary, #a1a1aa);word-wrap:break-word;overflow-wrap:break-word}.md-content a{color:var(--accent, #3b82f6);text-decoration:none}.md-content a:hover{text-decoration:underline}.md-content ul,.md-content ol{padding-left:1.5em;margin:.5em 0}.md-content li{margin:.25em 0}.md-content p{margin:.5em 0;line-height:1.6}.md-content strong{color:var(--text-primary, #e4e4e7);font-weight:600}.md-content em{font-style:italic}.md-codeblock{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border:1px solid var(--border-subtle, rgba(255, 255, 255, .06));background:var(--bg-surface, #232328);border-radius:var(--radius-md, 6px);margin:.5em 0;overflow-x:auto}.md-codeblock__lang{font-size:.7rem;font-family:monospace;text-transform:uppercase;color:var(--text-tertiary, #71717a);margin-right:.75rem}.md-codeblock__copy{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.7rem;transition:color .2s,background-color .2s;color:var(--text-tertiary, #71717a);background:transparent;border:none;cursor:pointer;border-radius:var(--radius-sm, 4px)}.md-codeblock__copy:hover{color:var(--text-primary, #e4e4e7);background:var(--bg-surface-hover, #2a2a30)}.md-table-wrap{overflow-x:auto;margin:.5em 0;border:1px solid var(--border-subtle, rgba(255, 255, 255, .06));border-radius:var(--radius-md, 6px)}.md-table{width:100%;border-collapse:collapse;font-size:.875rem}.md-table__head{background:var(--bg-surface-hover, #2a2a30)}.md-table__th{padding:.65rem 1rem;text-align:left;font-weight:600;color:var(--text-primary, #e4e4e7);border-bottom:2px solid var(--border-medium, rgba(255, 255, 255, .1))}.md-table__row:nth-child(2n){background:#ffffff05}.md-table__cell{padding:.65rem 1rem;border-bottom:1px solid var(--border-subtle, rgba(255, 255, 255, .06));color:var(--text-secondary, #a1a1aa)}.md-content blockquote{margin:.5em 0;padding:.5em 1em;border-left:3px solid var(--accent, #3b82f6);background:var(--bg-surface-hover, #2a2a30);border-radius:0 var(--radius-md, 6px) var(--radius-md, 6px) 0;color:var(--text-tertiary, #71717a)}.md-content hr{margin:1em 0;border:none;border-top:1px solid var(--border-subtle, rgba(255, 255, 255, .06))}.md-content h1,.md-content h2,.md-content h3,.md-content h4,.md-content h5,.md-content h6{margin:.75em 0 .5em;color:var(--text-primary, #e4e4e7);font-weight:600;line-height:1.3}.chart-wrapper{margin:clamp(8px,2vh,1rem) 0;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}.chart-wrapper::-webkit-scrollbar{height:clamp(4px,1vw,6px)}.chart-wrapper::-webkit-scrollbar-track{background:var(--bg-surface, #232328)}.chart-wrapper::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:clamp(2px,.5vw,3px)}.chart-wrapper::-webkit-scrollbar-thumb:hover{background:#3b82f6}.chart-container{width:100%;min-height:clamp(200px,35vh,300px)}.bullet-chart,.radar-chart{min-height:clamp(200px,35vh,300px)}.recharts-tooltip-wrapper{background:#232328f2!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:var(--radius-md, 6px)!important;box-shadow:0 clamp(4px,1vw,8px) clamp(8px,2vw,12px) #00000026!important}.recharts-default-tooltip{background:#232328f2!important;border-color:#ffffff1a!important}.recharts-tooltip-item{color:#71717a!important;font-size:clamp(12px,3vw,13px)!important}.recharts-legend-wrapper{background:#232328f2!important;padding:clamp(8px,2vh,.75rem) clamp(12px,3vw,.75rem)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:var(--radius-md, 6px)!important;margin-top:clamp(4px,1vh,.5rem)}.recharts-legend-item-text{color:#71717a!important;font-size:clamp(10px,2.5vw,12px)!important}.recharts-legend-icon{border-color:#ffffff1a!important}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:#ffffff1a!important;stroke-opacity:.3!important}.recharts-axis-label-text{fill:#71717a!important;font-size:clamp(10px,2.5vw,12px)!important}.nivo-calendar-dot{cursor:pointer}.nivo-calendar-legend-line{stroke:#ffffff1a!important}@media(max-width:768px){.chart-container{min-height:clamp(180px,30vh,250px)!important}.bullet-chart,.radar-chart{min-height:clamp(180px,30vh,250px)}.chart-title{font-size:clamp(14px,3.5vw,1rem)!important}.recharts-legend-wrapper{padding:clamp(6px,1.5vh,.5rem) clamp(8px,2vw,.5rem)!important}}@media(max-width:480px){.chart-container{min-height:clamp(160px,35vh,200px)!important}.bullet-chart,.radar-chart{min-height:clamp(160px,35vh,200px)}.chart-title{font-size:clamp(12px,4vw,14px)!important}.recharts-axis-label-text{display:none}}@media(max-width:768px)and (orientation:landscape){.chart-container,.bullet-chart,.radar-chart{min-height:clamp(140px,40vh,220px)!important}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke-opacity:.15!important}}@keyframes chart-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.chart-wrapper>svg{animation:chart-fade-in .3s ease-out}.recharts-bar-wrapper{transition:opacity .2s ease}.recharts-bar-wrapper:hover{opacity:.9}.recharts-active-shape-wrapper{filter:drop-shadow(0 0 clamp(2px,.5vw,4px) #3b82f6)}.main{--bg-app: #18181b;--bg-surface: #232328;--bg-surface-hover: #2a2a30;--bg-input: #2c2c32;--border-subtle: rgba(255, 255, 255, .06);--border-medium: rgba(255, 255, 255, .1);--text-primary: #e4e4e7;--text-secondary: #a1a1aa;--text-tertiary: #71717a;--accent: #3b82f6;--accent-soft: rgba(59, 130, 246, .12);--border-accent: rgba(59, 130, 246, .25);--danger: #f87171;--bg-bubble-user: #1e3a5f;--bg-bubble-assistant: var(--bg-surface);--radius-sm: 4px;--radius-md: 6px;display:flex;height:100vh;height:100dvh;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--text-primary);background:linear-gradient(135deg,#667eea,#764ba2)}.main[data-theme=light]{--bg-app: #ffffff;--bg-surface: #f9fafb;--bg-surface-hover: #f3f4f6;--bg-input: #f3f4f6;--border-subtle: rgba(0, 0, 0, .06);--border-medium: rgba(0, 0, 0, .12);--text-primary: #111827;--text-secondary: #4b5563;--text-tertiary: #9ca3af;--accent: #2563eb;--accent-soft: rgba(37, 99, 235, .08);--border-accent: rgba(37, 99, 235, .25);--danger: #dc2626;--bg-bubble-user: #dbeafe;--bg-bubble-assistant: var(--bg-surface)}.main[data-theme=light] .main-header{border-bottom-color:var(--border-subtle)}.main[data-theme=light]{background:transparent}.main[data-theme=light] .main-empty__title{color:var(--text-primary)}.main[data-theme=light] .main-body{background:var(--bg-app)}.main-bg{display:none}.main-layout{display:flex;width:100%;height:100%;overflow:hidden}.main-sidebar{width:clamp(240px,18vw,280px);min-width:240px;height:100%;background:var(--bg-surface);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;padding:0;overflow-y:auto;overflow-x:hidden;z-index:30}@media(min-width:1025px){.main-sidebar{transition:margin-left .25s cubic-bezier(.4,0,.2,1),opacity .2s ease}.main-sidebar--closed{margin-left:-100%;opacity:0;pointer-events:none}}@media(max-width:1024px){.main-sidebar{position:fixed;top:0;left:0;width:clamp(260px,80vw,300px);max-width:320px;min-width:260px;height:100%;height:100dvh;transform:translate(-100%);transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s ease;box-shadow:none}.main-sidebar--open{transform:translate(0);box-shadow:clamp(8px,2vw,24px) clamp(8px,2vw,24px) #0000004d}.main-sidebar--closed{transform:translate(-100%);opacity:0;pointer-events:none}}.main-sidebar__header{padding:clamp(12px,2vh,16px) clamp(12px,3vw,16px) 8px;flex-shrink:0}.main-sidebar__brand{display:flex;align-items:center;gap:clamp(8px,1.5vw,10px)}.main-sidebar__logo{width:clamp(26px,3vw,30px);height:clamp(26px,3vw,30px);flex-shrink:0}.main-sidebar__name{font-size:clamp(14px,1.5vw,15px);font-weight:600;color:var(--text-primary);letter-spacing:-.01em;line-height:1}.main-sidebar__ai-label{color:var(--accent)}.main-sidebar__divider{height:1px;background:var(--border-subtle);margin:0 clamp(8px,2vw,16px);flex-shrink:0}.main-sidebar__section{padding:clamp(10px,2vh,12px) clamp(12px,3vw,16px) 2px;flex-shrink:0}.main-sidebar__section-label{font-size:clamp(10px,1.2vw,12px);font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);padding:0 4px}.main-sidebar__tenant{display:flex;align-items:center;justify-content:space-between;width:100%;padding:clamp(8px,1.5vh,10px) clamp(8px,2vw,10px);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:clamp(13px,1.3vw,14px);font-weight:500;cursor:pointer;transition:background .12s ease,border-color .12s ease;margin-top:4px;min-height:44px}.main-sidebar__tenant:hover:not(:disabled){background:var(--bg-surface-hover);border-color:var(--border-medium)}.main-sidebar__tenant:disabled{opacity:.35;cursor:not-allowed}.main-sidebar__tenant-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.main-sidebar__tenant-arrows{display:flex;align-items:center;gap:2px;color:var(--text-tertiary);margin-left:6px;flex-shrink:0}.main-sidebar__new-chat{display:flex;align-items:center;justify-content:center;gap:clamp(6px,1vw,8px);width:calc(100% - clamp(24px,4vw,32px));height:clamp(34px,5vh,40px);min-height:44px;margin:clamp(6px,1vh,8px) clamp(12px,3vw,16px);background:transparent;color:var(--accent);font-size:clamp(13px,1.3vw,14px);font-weight:500;border:1px solid var(--border-accent);border-radius:var(--radius-sm);cursor:pointer;transition:background .12s ease,color .12s ease}.main-sidebar__new-chat:hover:not(:disabled){background:var(--accent-soft);color:#60a5fa}.main-sidebar__new-chat:disabled{cursor:not-allowed;opacity:.4;border-color:var(--border-subtle);color:var(--text-tertiary)}.main-sidebar__section--history{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;padding-bottom:clamp(8px,2vh,12px)}.main-sidebar__history-group{display:flex;flex-direction:column;gap:1px}.main-sidebar__date-label{font-size:clamp(11px,1.2vw,13px);font-weight:600;color:var(--text-tertiary);padding:clamp(6px,1.5vh,8px) clamp(10px,2vw,12px) 2px;letter-spacing:.04em}.main-sidebar__history-item{display:block;width:100%;padding:clamp(6px,1.5vh,8px) clamp(10px,2vw,12px);background:transparent;border:none;color:var(--text-secondary);font-size:clamp(13px,1.3vw,14px);text-align:left;cursor:pointer;transition:background .1s ease,color .1s ease;line-height:1.4;min-height:44px}.main-sidebar__history-item:hover{background:#ffffff08;color:var(--text-primary)}.main-sidebar__history-item--active{color:var(--text-primary);background:#ffffff0d}.main-sidebar__history-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.main-header{display:flex;align-items:center;padding:clamp(8px,2vh,12px) clamp(12px,3vw,24px);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.main-header__user-area{display:flex;align-items:center;gap:clamp(4px,1vw,8px);margin-left:auto}.main-header__model-area{position:relative;display:flex;align-items:center}.main-header__model-btn{display:flex;align-items:center;gap:clamp(4px,1vw,6px);padding:clamp(8px,1.5vh,10px) clamp(10px,2vw,12px);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:clamp(12px,1.3vw,13px);font-weight:500;cursor:pointer;transition:background .12s ease,border-color .12s ease;min-height:44px}.main-header__model-btn:hover{background:var(--bg-surface-hover);border-color:var(--border-medium)}.main-header__avatar{display:flex;align-items:center;justify-content:center;width:clamp(30px,4vw,36px);height:clamp(30px,4vw,36px);background:var(--accent-soft);color:var(--accent);font-size:clamp(12px,1.3vw,14px);font-weight:600;border-radius:50%;flex-shrink:0}.main-header__logout-btn{width:clamp(36px,5vw,44px);height:clamp(36px,5vw,44px);display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:6px;transition:color .12s ease;border-radius:var(--radius-sm)}.main-header__logout-btn:hover{color:var(--text-secondary);background:#ffffff08}.main-content{display:flex;flex-direction:column;flex:1;min-width:0;height:100%;overflow:hidden;background:var(--bg-app)}.main-header__tenant{font-size:clamp(14px,1.5vw,16px);font-weight:600;color:var(--text-primary)}.main-header__status{display:flex;align-items:center;gap:6px}.main-header__online{width:7px;height:7px;background:#22c55e;border-radius:50%;display:block}.main-header__loading{width:7px;height:7px;background:var(--text-tertiary);border-radius:50%;animation:main-pulse 1.2s ease-in-out infinite}@keyframes main-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.main-header__text{font-size:clamp(11px,1.2vw,13px);color:var(--text-tertiary)}.main-body{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.main-body::-webkit-scrollbar{width:clamp(3px,.5vw,5px)}.main-body::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:clamp(2px,.3vw,3px)}.main-model-unavailable{max-width:720px;margin:0 auto clamp(8px,2vh,12px);padding:clamp(8px,1.5vh,10px) clamp(12px,2vw,16px);border:1px solid var(--danger);border-radius:var(--radius-md);background:#f871711a;color:var(--text-primary);font-size:clamp(13px,1.8vw,14px);line-height:1.4;text-align:center}.main-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:clamp(24px,6vh,48px) clamp(16px,4vw,24px);text-align:center}.main-empty__title{font-size:clamp(22px,5vw,32px);font-weight:600;color:var(--text-primary);margin:0 0 clamp(8px,2vh,12px);letter-spacing:-.01em}.main-empty__subtitle{font-size:clamp(13px,1.5vw,14px);color:var(--text-secondary);margin:0 0 clamp(20px,4vh,32px);max-width:min(440px,calc(100% - 32px));line-height:1.5}.main-empty__input-wrap{position:relative;width:min(800px,calc(100% - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 32px))}.main-empty__input{width:100%;min-height:clamp(48px,6vh,56px);padding:clamp(12px,2vh,14px) clamp(40px,6vw,52px) clamp(12px,2vh,14px) clamp(14px,3vw,18px);background:var(--bg-input);border:1px solid var(--border-medium);border-radius:clamp(12px,2vw,16px);color:var(--text-primary);font-size:clamp(14px,1.5vw,16px);line-height:1.5;outline:none;resize:none;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.main-empty__input::placeholder{color:var(--text-tertiary)}.main-empty__input:focus{border-color:var(--accent);background:var(--bg-surface);box-shadow:0 0 0 clamp(2px,.5vw,4px) var(--accent-soft)}.main-empty__input:disabled{opacity:.5;cursor:not-allowed}.main-empty__mic-btn{position:absolute;right:clamp(40px,6vw,52px);top:50%;transform:translateY(-50%);width:clamp(36px,5vw,44px);height:clamp(36px,5vw,44px)}.main-empty__mic-btn svg.main-icon--mic{width:clamp(18px,2.5vw,20px);height:clamp(18px,2.5vw,20px)}.main-empty__send{position:absolute;right:clamp(8px,2vw,12px);top:50%;transform:translateY(-50%);width:clamp(36px,5vw,44px);height:clamp(36px,5vw,44px);display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;border:none;border-radius:50%;cursor:pointer;transition:background .12s ease,opacity .12s ease}.main-empty__send:hover:not(:disabled){background:#2563eb}.main-empty__send:disabled{opacity:.3;cursor:not-allowed}.main-empty__thinking{margin-top:clamp(16px,3vh,24px);font-size:clamp(14px,1.5vw,16px);color:var(--text-secondary);font-style:italic}.main-empty__thinking .main-loading-dots span{color:var(--accent)}.main-empty__suggestions{display:flex;gap:clamp(6px,1vw,8px);margin-top:clamp(12px,2vh,20px);flex-wrap:wrap;justify-content:center;width:min(800px,calc(100% - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 32px))}.main-empty__suggestion{padding:clamp(8px,1.5vh,10px) clamp(10px,2vw,14px);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:clamp(12px,1.3vw,14px);font-weight:500;cursor:pointer;transition:background .1s ease,border-color .1s ease,color .1s ease;min-height:44px}.main-empty__suggestion:hover{background:var(--bg-surface-hover);border-color:var(--border-medium);color:var(--text-primary)}.main-chat{display:flex;flex-direction:column;height:100%}.main-chat__messages{flex:1;padding:clamp(12px,3vh,20px) 0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:clamp(10px,2vh,14px);max-width:clamp(500px,85vw,780px);width:100%;margin:0 auto}.main-chat__messages::-webkit-scrollbar{width:clamp(3px,.5vw,5px)}.main-chat__messages::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:clamp(2px,.3vw,3px)}.main-chat__message{display:flex;gap:clamp(6px,1.5vw,10px);align-items:flex-start;max-width:min(82%,780px)}.main-chat__message--user{flex-direction:row-reverse;margin-left:auto}.main-chat__message--assistant{margin-right:auto}.main-chat__message-avatar{flex-shrink:0;width:clamp(24px,3vw,28px);height:clamp(24px,3vw,28px);display:flex;align-items:center;justify-content:center;font-size:clamp(10px,1.2vw,12px);font-weight:600;border-radius:50%}.main-chat__message--user .main-chat__message-avatar{background:var(--accent-soft);color:var(--accent)}.main-chat__message--assistant .main-chat__message-avatar{background:#a8a29e1f;color:var(--text-secondary)}.main-chat__message-bubble{padding:clamp(8px,1.5vh,10px) clamp(10px,2vw,14px);font-size:clamp(13px,1.4vw,15px);line-height:1.55;border-radius:var(--radius-md)}.main-chat__message--user .main-chat__message-bubble{background:var(--bg-bubble-user);color:var(--text-primary);border-top-right-radius:2px}.main-chat__message--assistant .main-chat__message-bubble{background:var(--bg-bubble-assistant);color:var(--text-secondary);border-top-left-radius:2px}.main-chat__message-body{flex:1;min-width:0;display:flex;flex-direction:column}.main-chat__message-meta{display:flex;align-items:center;gap:clamp(4px,1vw,8px);margin-top:clamp(2px,.5vh,4px);padding:0 clamp(10px,2vw,14px)}.main-chat__message-time{font-size:clamp(10px,1.1vw,11px);color:var(--text-tertiary);-webkit-user-select:none;user-select:none}.main-chat__message-actions{display:flex;gap:clamp(2px,.5vw,4px)}.main-chat__rate-btn{display:flex;align-items:center;justify-content:center;padding:clamp(2px,.4vh,3px);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:color .15s ease,background-color .15s ease}.main-chat__rate-btn:hover:not(:disabled){color:var(--text-primary);background:#a8a29e1f}.main-chat__rate-btn--active,.main-chat__rate-btn--active:hover{color:var(--accent)}.main-chat__rate-btn--down.main-chat__rate-btn--active,.main-chat__rate-btn--down.main-chat__rate-btn--active:hover{color:var(--danger)}.main-chat__rate-btn:disabled{cursor:default}.main-chat__rate-btn .main-icon{width:clamp(13px,1.5vw,14px);height:clamp(13px,1.5vw,14px)}.main-chat__input-area{display:flex;align-items:flex-end;gap:clamp(4px,1vw,8px);padding:clamp(10px,2vh,14px) clamp(12px,3vw,20px);margin:0 auto clamp(8px,2vh,16px);width:min(800px,calc(100% - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 32px));background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:clamp(14px,2vw,20px);flex-shrink:0}.main-chat__input{flex:1;min-height:clamp(36px,5vh,40px);max-height:clamp(100px,25vh,140px);padding:clamp(6px,1.5vh,8px) clamp(32px,5vw,42px) clamp(6px,1.5vh,8px) clamp(12px,3vw,16px);background:transparent;border:none;border-radius:0;color:var(--text-primary);font-size:clamp(14px,1.5vw,16px);line-height:1.5;outline:none;overflow-y:auto;resize:none;-webkit-resize:none}.main-chat__input::placeholder{color:var(--text-tertiary)}.main-chat__input:focus{background:transparent}.main-chat__input::-webkit-scrollbar{width:clamp(3px,.5vw,4px)}.main-chat__input::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:clamp(2px,.3vw,2px)}.main-chat__input:disabled{opacity:.5;cursor:not-allowed}.main-chat__send-btn{flex-shrink:0;width:clamp(36px,5vw,44px);height:clamp(36px,5vw,44px);display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;border:none;border-radius:50%;cursor:pointer;transition:background .12s ease,opacity .12s ease}.main-chat__send-btn:hover:not(:disabled){background:#2563eb}.main-chat__send-btn:disabled{opacity:.35;cursor:not-allowed}.main-icon{width:clamp(14px,1.8vw,16px);height:clamp(14px,1.8vw,16px);flex-shrink:0}.main-icon--plus{width:clamp(15px,2vw,16px);height:clamp(15px,2vw,16px)}.main-icon--chevron-left,.main-icon--chevron-right{width:clamp(12px,1.5vw,13px);height:clamp(12px,1.5vw,13px)}.main-sidebar__history-item-row{display:flex;align-items:center}.main-sidebar__history-item{flex:1}.main-sidebar__history-delete{display:none;width:clamp(28px,4vw,32px);height:clamp(28px,4vw,32px);align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;opacity:0;transition:color .1s ease,opacity .1s ease,background .1s ease;flex-shrink:0}.main-sidebar__history-item-row:hover .main-sidebar__history-delete{display:flex;opacity:1}.main-sidebar__history-delete:hover{color:#ef4444;background:#ef444414;border-radius:var(--radius-sm)}.main-sidebar__footer{padding:clamp(10px,2vh,12px) clamp(12px,3vw,16px);margin-top:auto;flex-shrink:0;border-top:1px solid var(--border-subtle)}.main-sidebar__logout{display:flex;align-items:center;gap:clamp(6px,1.5vw,8px);width:100%;padding:clamp(10px,2vh,12px) clamp(8px,2vw,10px);background:transparent;border:none;color:var(--text-tertiary);font-size:clamp(13px,1.3vw,14px);cursor:pointer;transition:color .12s ease,background .12s ease;border-radius:var(--radius-sm);min-height:44px}.main-sidebar__logout:hover{color:var(--text-secondary);background:#ffffff08}.main-model-dropdown{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);z-index:100;min-width:min(200px,calc(90vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));max-height:clamp(200px,40vh,300px);overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-sm);box-shadow:0 clamp(4px,1vw,8px) clamp(8px,2vw,24px) #0000004d}.main-model-dropdown__label{padding:clamp(6px,1.5vh,8px) clamp(10px,2vw,12px);font-size:clamp(10px,1.2vw,12px);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);border-bottom:1px solid var(--border-subtle)}.main-model-dropdown__list{padding:clamp(2px,.5vh,4px) 0}.main-model-dropdown__item{width:100%;display:flex;align-items:center;justify-content:space-between;padding:clamp(8px,1.5vh,12px) clamp(10px,2vw,12px);background:transparent;border:none;color:var(--text-secondary);font-size:clamp(13px,1.3vw,14px);cursor:pointer;transition:background .1s ease,color .1s ease;text-align:left;min-height:44px}.main-model-dropdown__item:hover{background:#ffffff0a;color:var(--text-primary)}.main-model-dropdown__item--active{color:var(--accent);font-weight:500}.main-model-dropdown__check{margin-left:clamp(6px,1.5vw,8px);font-size:clamp(12px,1.3vw,14px);opacity:.6}.main-header__features-btn{display:flex;align-items:center;gap:clamp(4px,1vw,6px);padding:clamp(8px,1.5vh,10px) clamp(10px,2vw,12px);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:clamp(12px,1.3vw,13px);font-weight:500;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease;min-height:44px}.main-header__features-btn:hover{background:var(--bg-surface-hover);border-color:var(--border-medium)}.main-header__features-btn--active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.main-features-panel{position:fixed;top:0;right:0;z-index:50;width:min(520px,calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));height:100%;height:100dvh;background:var(--bg-surface);border-left:1px solid var(--border-subtle);display:flex;flex-direction:column;transform:translate(100%);opacity:0;pointer-events:none;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .2s ease,box-shadow .25s ease}.main-features-panel--open{transform:translate(0);opacity:1;pointer-events:auto;box-shadow:-clamp(8px,2vw,24px) clamp(8px,2vw,24px) #0000004d}.main-features-panel__header{display:flex;align-items:center;justify-content:space-between;gap:clamp(8px,1.5vw,10px);padding:clamp(12px,2vh,16px) clamp(12px,3vw,16px) 8px;flex-shrink:0}.main-features-panel__title{font-size:clamp(14px,1.6vw,16px);font-weight:600;color:var(--text-primary)}.main-features-panel__close{width:clamp(36px,5vw,44px);height:clamp(36px,5vw,44px);display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:background .12s ease,color .12s ease;flex-shrink:0}.main-features-panel__close:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.main-features-panel__body{flex:1 1 auto;overflow-y:auto;padding:0 clamp(8px,2vw,12px) clamp(12px,2vh,16px)}.main-features-panel__block+.main-features-panel__block{border-top:1px solid var(--border-subtle)}.main-features-panel__block-title{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:clamp(12px,2vh,16px) clamp(10px,2vw,12px);background:transparent;border:none;font-family:inherit;font-size:clamp(10px,1.2vw,12px);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);text-align:left;cursor:pointer;transition:color .12s ease}.main-features-panel__block-title:hover{color:var(--text-secondary)}.main-features-panel__block-title-text{min-width:0}.main-features-panel__chevron{flex-shrink:0;transition:transform .2s ease}.main-features-panel__block-title[aria-expanded=false] .main-features-panel__chevron{transform:rotate(-90deg)}.main-features-panel__block-content{display:grid;grid-template-rows:1fr;transition:grid-template-rows .2s ease}.main-features-panel__block-content--collapsed{grid-template-rows:0fr}.main-features-panel__block-items{overflow:hidden;min-height:0;display:flex;flex-direction:column;gap:4px;padding-bottom:clamp(6px,1.5vh,8px)}.main-features-panel__item{width:100%;display:block;padding:clamp(10px,2vh,14px) clamp(10px,2vw,12px);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:clamp(13px,1.3vw,14px);line-height:1.45;cursor:pointer;transition:background .1s ease,color .1s ease;text-align:left;white-space:normal;min-height:44px}.main-features-panel__item:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.main-chat__message-bubble--loading{background:transparent!important;border:1px solid var(--border-subtle);display:flex;align-items:center;gap:clamp(6px,1.5vw,8px)}.main-loading-dots span{display:inline-block;opacity:0;animation:main-dot-pulse 1.4s infinite;line-height:1}.main-loading-dots span:nth-child(1){animation-delay:0s}.main-loading-dots span:nth-child(2){animation-delay:.2s}.main-loading-dots span:nth-child(3){animation-delay:.4s}@keyframes main-dot-pulse{0%{opacity:0}50%{opacity:1}to{opacity:0}}.main-chat__send-btn--abort{background:#ef444426!important;color:#ef4444!important}.main-chat__send-btn--abort:hover:not(:disabled){background:#ef444440!important}.main-header__theme-btn{display:flex;align-items:center;justify-content:center;width:clamp(36px,5vw,44px);height:clamp(36px,5vw,44px);margin-left:clamp(4px,1vw,8px);background:transparent;color:var(--text-secondary);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s ease,color .12s ease}.main-header__theme-btn:hover{background:#ffffff08;color:var(--text-primary)}[data-theme=light] .main-header__theme-btn{color:var(--text-secondary)}[data-theme=light] .main-header__theme-btn:hover{background:#0000000d;color:var(--text-primary)}.main-chat__mic-btn,.main-empty__mic-btn{flex-shrink:0;width:clamp(36px,5vw,44px);height:clamp(36px,5vw,44px);display:flex;align-items:center;justify-content:center;background:transparent;color:var(--text-secondary);border:none;border-radius:50%;cursor:pointer;transition:background .12s ease,color .12s ease,transform .1s ease}.main-chat__mic-btn:hover:not(:disabled),.main-empty__mic-btn:hover:not(:disabled){background:var(--bg-surface-hover);color:var(--text-primary)}.main-chat__mic-btn:disabled,.main-empty__mic-btn:disabled{opacity:.35;cursor:not-allowed}.main-chat__mic-btn--recording,.main-empty__mic-btn--recording{color:#ef4444!important;box-shadow:0 0 #ef444499;animation:mic-pulse-ring 1.5s ease-out infinite}@keyframes mic-pulse-ring{0%{box-shadow:0 0 #ef444499}to{box-shadow:0 0 0 clamp(8px,2vw,12px) #ef444400}}.main-chat__mic-btn svg.main-icon--mic,.main-empty__mic-btn svg.main-icon--mic{width:clamp(16px,2vw,18px);height:clamp(16px,2vw,18px)}.main-layout{position:relative;display:flex;width:100%;height:100%}.main-layout__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:40;animation:backdrop-fade-in .2s ease}@keyframes backdrop-fade-in{0%{opacity:0}to{opacity:1}}@media(max-width:1024px){.main-sidebar{position:fixed;top:0;left:0;width:clamp(260px,80vw,300px);max-width:320px;min-width:260px;height:100%;height:100dvh;z-index:50;transform:translate(-100%);transition:transform .25s cubic-bezier(.4,0,.2,1);box-shadow:none}.main-sidebar--open{transform:translate(0);box-shadow:clamp(8px,2vw,24px) clamp(8px,2vw,24px) #0000004d}}@media(max-width:768px){.main-chat__message{max-width:92%}.main-chat__input-area{margin-bottom:clamp(4px,env(safe-area-inset-bottom,0px),8px)}.main-chat{padding-left:clamp(12px,3vw,16px);padding-right:clamp(12px,3vw,16px)}@supports (padding: max(0px)){.main-chat__input-area{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));margin-left:env(safe-area-inset-left,0px);margin-right:env(safe-area-inset-right,0px)}}.main-body{padding-left:clamp(12px,3vw,16px);padding-right:clamp(12px,3vw,16px);padding-bottom:env(safe-area-inset-bottom,0px);box-sizing:border-box}.main-empty{padding-left:clamp(12px,4vw,16px);padding-right:clamp(12px,4vw,16px);box-sizing:border-box}.main-empty__subtitle{font-size:clamp(13px,3.5vw,14px)}.chart-container{min-height:200px!important}.chart-title{font-size:clamp(12px,3.5vw,1rem)!important}}@media(max-width:480px){.main-sidebar{width:min(280px,85vw)}.main-chat__messages{padding-left:clamp(8px,3vw,12px);padding-right:clamp(8px,3vw,12px)}.main-chat__message{max-width:95%}.main-empty__input-wrap,.main-empty__suggestions{width:calc(100% - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 24px)}.main-sidebar__section-label{font-size:clamp(9px,2.5vw,10px)}.chart-container{min-height:180px!important}}@media(max-width:768px)and (orientation:landscape){.main-sidebar{width:clamp(240px,50vw,280px)!important}}.main-toggle{display:none;position:fixed;top:clamp(12px,3vh,16px);left:clamp(8px,3vw,12px);z-index:45;width:clamp(36px,5vw,44px);height:clamp(36px,5vw,44px);align-items:center;justify-content:center;background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-primary);box-shadow:0 clamp(2px,.5vw,4px) clamp(4px,1vw,8px) #0003;transition:background .12s ease,color .12s ease}.main-toggle:hover{background:var(--bg-surface-hover)}@media(max-width:1024px){.main-toggle{display:flex}}
