.btn-link{outline:none!important;border:none!important;background-color:transparent!important;cursor:pointer}.btn-link .i{font-size:1.2rem}.expand-button{cursor:pointer}.expand-button:hover{background-color:#f8f9fa}.compass-container input{color:#333}.compass-container button:focus{outline:none!important}.list-group-flush{padding-left:0!important}.compass-container{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.loading-container{background-color:#fff;height:100vh}.error-container{height:100vh;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#fff}.chat-interface,.error-container{display:-webkit-box;display:-ms-flexbox;display:flex}.chat-interface{min-height:100vh;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;position:relative}.reset-button-container{position:fixed;top:20px;right:20px;z-index:1000}.reset-btn{cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:4px 8px;border-radius:8px;font-size:14px;font-weight:500;-webkit-transition:all .2s ease;transition:all .2s ease;background-color:hsla(0,0%,100%,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #e9ecef}.reset-btn:hover{background-color:#f8f9fa;-webkit-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:0 4px 12px rgba(0,0,0,.1);box-shadow:0 4px 12px rgba(0,0,0,.1)}.reset-btn:hover svg{stroke:#fff}.reset-btn:disabled{opacity:.6;cursor:not-allowed;-webkit-transform:none;transform:none}.welcome-screen{height:100vh;background-color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.welcome-container{width:100%;height:100vh;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:2rem;max-width:800px;margin:0 auto}.heading-section,.welcome-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal}.heading-section{-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.heading-section h1{color:#333;font-weight:700;margin-bottom:1rem}.heading-section p{color:#6c757d;font-size:1.1rem}.suggestions-section{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;overflow:hidden}.suggestions-container{max-height:100%;overflow-y:auto;padding-right:8px}.suggestions-container:hover{overflow-y:auto}.suggestions-container::-webkit-scrollbar{width:6px}.suggestions-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.suggestions-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.suggestions-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.messages-container{padding:5rem 0;-webkit-box-flex:1;-ms-flex:1;flex:1;padding:2rem 0;overflow-y:auto;max-width:1000px;margin:0 auto;width:100%}.message-item,.message-row{margin-bottom:1rem}.message-row{display:-webkit-box;display:-ms-flexbox;display:flex}.user-message-row{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.assistant-message-row{border-radius:1rem;border-bottom-left-radius:.1rem;background-color:var(--secondary);-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.assistant-message-row,.message-bubble{-webkit-box-shadow:0 2px 8px rgba(0,0,0,.1);box-shadow:0 2px 8px rgba(0,0,0,.1)}.message-bubble{max-width:90%;min-width:85%;border-radius:1rem;padding:1rem 1.5rem;position:relative}.user-bubble{background-color:#e9f7fd;color:#333;border-bottom-right-radius:.25rem}.assistant-bubble{background-color:transparent;color:#333;border-bottom-left-radius:.25rem;-webkit-box-shadow:none;box-shadow:none;max-width:100%;min-width:100%}.assistant-bubble .message-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:.75rem}.assistant-avatar{width:32px;height:32px;border-radius:50%;background-color:#f8f9fa;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:1.25rem;-ms-flex-negative:0;flex-shrink:0}.message-text{-webkit-box-flex:1;-ms-flex:1;flex:1}.message-text p{margin-bottom:0;line-height:1.5}.chart-header .card{border-radius:.75rem;margin-bottom:1rem}.card-body{padding:0;height:100%}.chart-header .card-body{padding:1.5rem}.chart-header h4{color:#333;font-weight:600}.chart-header .badge{font-size:.75rem;padding:.375rem .75rem;background-color:#e9ecef;color:#495057}.chart-section{margin-top:1rem}.chart-container{min-height:440px}.chart-container .card{height:440px;border-radius:.75rem}.chart-area{height:100%;width:87%}.table-container{width:87%;height:420px;overflow:auto;overflow-y:auto;overflow-x:auto}.table-container .el-table{width:100%;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.table-container .el-table td,.table-container .el-table th{min-width:100px!important;max-width:200px!important;word-wrap:break-word;word-break:break-word}.table-container .el-table .cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-preview-container .el-table td,.table-preview-container .el-table th{min-width:100px!important;max-width:200px!important;word-wrap:break-word;word-break:break-word}.table-preview-container .el-table .cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-chart-container{min-height:440px;padding:2rem}.text-chart-circle,.text-chart-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.text-chart-circle{width:200px;height:200px;border-radius:50%;background:linear-gradient(135deg,#a8d5e5,#b8a9d9);-webkit-box-shadow:0 10px 30px rgba(0,0,0,.2);box-shadow:0 10px 30px rgba(0,0,0,.2);position:relative;overflow:hidden}.text-chart-circle:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,hsla(0,0%,100%,.1) 0,transparent 70%);-webkit-animation:shimmer 3s ease-in-out infinite;animation:shimmer 3s ease-in-out infinite}.text-chart-content{color:#fff;font-size:1.5rem;font-weight:600;text-align:center;z-index:1;position:relative;text-shadow:0 2px 4px rgba(0,0,0,.3);max-width:80%;word-wrap:break-word}@-webkit-keyframes shimmer{0%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}}@keyframes shimmer{0%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}}.no-data-message{min-height:440px;background-color:#f8f9fa}.no-data-message i{opacity:.3}.no-data-preview{background-color:#f8f9fa}.no-data-preview i{opacity:.3}.table-container .card{border-radius:.75rem;margin-bottom:1rem}.table-container .card-body{padding:1.5rem}.chart-selector{border-radius:.5rem;position:absolute;top:80px;right:10px}@media (max-width:988px) and (min-width:771px){.chart-selector{top:40px;right:10px}}@media (max-width:768px){.chart-selector{top:-16px;right:1px}}.chart-selector .card{border-radius:.75rem}.chart-selector .card-body{height:auto;padding:1.5rem}.chart-selector .card{height:auto}.chart-selector h6{color:#333;font-weight:600}.list-group-item{padding:1rem 0!important;border-bottom:1px solid #e9ecef!important;-webkit-transition:all .2s ease;transition:all .2s ease}.list-group-item:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px);background-color:#f8f9fa;border-radius:.5rem}.chart-types-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.2rem;margin-top:1rem;height:auto;overflow:scroll;overflow-x:hidden}.chart-type-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:0;border-radius:.5rem;cursor:pointer;-webkit-transition:all .2s ease;transition:all .2s ease;border:2px solid transparent;position:relative;width:35px;height:35px;border:1px solid #d3d8dd}.chart-type-item:hover:not(.disabled){background-color:#e9ecef}.chart-type-item.active{background-color:none;border-color:#4db8ea;color:#fff}.chart-type-item.disabled{opacity:.5;cursor:not-allowed;background-color:#f8f9fa}.chart-type-item.loading{pointer-events:none}.chart-type-icon{font-size:1.5rem;margin-bottom:.3rem}.loading-spinner{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.loading-message{margin:2rem 0}.loading-message .card{border-radius:.75rem}.loading-message .card-body{padding:1.5rem}.loading-dots{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:.25rem;margin-top:.5rem}.loading-dots div{width:6px;height:6px;border-radius:50%;background-color:#6c757d;-webkit-animation:loading-dots 1.4s ease-in-out infinite;animation:loading-dots 1.4s ease-in-out infinite}.loading-dots div:first-child{-webkit-animation-delay:-.32s;animation-delay:-.32s}.loading-dots div:nth-child(2){-webkit-animation-delay:-.16s;animation-delay:-.16s}@-webkit-keyframes loading-dots{0%,80%,to{-webkit-transform:scale(0);transform:scale(0);opacity:.5}40%{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes loading-dots{0%,80%,to{-webkit-transform:scale(0);transform:scale(0);opacity:.5}40%{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.message-input-container{position:fixed;bottom:0;left:15px;right:0;background-color:transparent;padding:1.5rem 0;z-index:5;width:100%}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:1050;padding:2rem;-ms-scroll-chaining:none;overscroll-behavior:contain}.modal-content,.modal-overlay{display:-webkit-box;display:-ms-flexbox;display:flex;overflow:hidden}.modal-content{background-color:#fff;border-radius:.75rem;max-width:90vw;max-height:90vh;width:70%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:400px}.modal-header{padding:1.5rem;border-bottom:1px solid #e9ecef;background-color:#f8f9fa}.modal-title{color:#333;font-weight:600;margin-bottom:.5rem}.modal-body{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:1.5rem;overflow:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.chart-preview-container{width:100%;height:100%;min-height:400px;overflow-x:auto;overflow-y:hidden}.chart-preview-container::-webkit-scrollbar{width:8px;height:8px}.chart-preview-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.chart-preview-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.chart-preview-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.chart-preview-container::-webkit-scrollbar-corner{background:#f1f1f1}.table-preview-container{width:100%;-webkit-box-flex:1;-ms-flex:1;flex:1;min-height:400px;max-height:100%;overflow:auto;overflow-y:auto;overflow-x:auto}.table-preview-container::-webkit-scrollbar{width:8px;height:8px}.table-preview-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.table-preview-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.table-preview-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.table-preview-container::-webkit-scrollbar-corner{background:#f1f1f1}.table-preview-container .el-table{width:100%;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.table-preview-container .el-table__body-wrapper{max-height:none!important}.table-preview-container .el-table__body{width:100%!important}.text-preview-container{width:100%;height:100%;min-height:400px}.text-preview-circle,.text-preview-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.text-preview-circle{width:300px;height:300px;border-radius:50%;background:linear-gradient(135deg,#a8d5e5,#b8a9d9);position:relative;overflow:hidden}.text-preview-circle:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,hsla(0,0%,100%,.1) 0,transparent 70%);-webkit-animation:shimmer 3s ease-in-out infinite;animation:shimmer 3s ease-in-out infinite}.text-preview-content{color:#fff;font-size:2.5rem;font-weight:700;text-align:center;z-index:1;position:relative;text-shadow:0 3px 6px rgba(0,0,0,.4);max-width:80%;word-wrap:break-word}.modal-footer{padding:1rem 1.5rem;border-top:1px solid #e9ecef;background-color:#f8f9fa}.retry-button{cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:12px 16px;border-radius:.5rem;font-size:14px;font-weight:500;-webkit-transition:all .2s ease;transition:all .2s ease;background-color:#4db8ea;color:#fff}.retry-button:hover{background-color:#e9ecef;color:#000;-webkit-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:0 4px 12px rgba(0,0,0,.1);box-shadow:0 4px 12px rgba(0,0,0,.1)}.retry-button:hover svg{stroke:#000}.retry-button:disabled{opacity:.6;cursor:not-allowed;-webkit-transform:none;transform:none}@media (max-width:768px){.welcome-screen{padding:1rem 0}.welcome-screen h1{font-size:2rem}.welcome-screen p{font-size:1rem}.chart-types-grid{grid-template-columns:repeat(auto-fit,minmax(50px,1fr));gap:.5rem}.chart-type-item{padding:.75rem .25rem}.chart-type-icon{font-size:1.25rem}.modal-content{margin:1rem;max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem);height:calc(100vh - 4rem);min-height:400px}.table-preview-container{min-height:300px}.message-input-container{padding:1rem 0}.message-bubble{max-width:100%}.assistant-bubble .message-content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.5rem}.assistant-avatar{-ms-flex-item-align:start;align-self:flex-start}}@media (max-width:576px){.container{padding-left:1rem;padding-right:1rem}.chart-area,.chart-preview-container{min-height:300px}.message-bubble{max-width:90%;padding:.75rem 1rem}}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.messages-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.messages-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.btn:focus,.form-control:focus{outline:none;-webkit-box-shadow:0 0 0 .2rem rgba(59,130,246,.25);box-shadow:0 0 0 .2rem rgba(59,130,246,.25)}*{-webkit-transition:all .2s ease;transition:all .2s ease}.btn-outline-secondary:hover{background-color:#000}.btn-outline-secondary:hover,.send-button{border-color:#000;color:#fff;border-radius:.5rem!important}.send-button{background-color:#4db8ea}.send-button:hover{cursor:pointer;background-color:#e9ecef;color:#000!important}.send-button:hover>svg{stroke:#000!important}.card:hover{-webkit-transform:translateY(-1px);transform:translateY(-1px)}.chart-type-item.loading .chart-type-icon{opacity:.5}.alert-danger{border-radius:.75rem;border:none;background-color:#f8d7da;color:#721c24}.badge-info{background-color:#17a2b8;color:#fff}.form-control:disabled{background-color:#e9ecef;opacity:.65}.form-control{border:1px solid #e9ecef!important;border-radius:.5rem!important}.shadow-sm{-webkit-box-shadow:none;box-shadow:none}.text-muted{color:#6c757d!important}.text-dark{color:#333!important}.bg-light{background-color:#f8f9fa!important}.guardrail-suggestion-card{border:1px solid #e9ecef;border-radius:.75rem;background:#fff;-webkit-transition:background-color .15s ease,-webkit-box-shadow .15s ease,-webkit-transform .15s ease;transition:background-color .15s ease,-webkit-box-shadow .15s ease,-webkit-transform .15s ease;transition:background-color .15s ease,box-shadow .15s ease,transform .15s ease;transition:background-color .15s ease,box-shadow .15s ease,transform .15s ease,-webkit-box-shadow .15s ease,-webkit-transform .15s ease}.guardrail-suggestion-card:hover{background:#f8f9fa;-webkit-box-shadow:0 2px 6px rgba(0,0,0,.08);box-shadow:0 2px 6px rgba(0,0,0,.08);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.guardrail-suggestion-card.disabled{opacity:.5;pointer-events:none;-webkit-filter:grayscale(20%);filter:grayscale(20%)}.border-light{border-color:#e9ecef!important}.questions-drawer-content{padding:0 20px 20px 20px;max-height:calc(100vh - 120px);overflow-y:auto}.questions-drawer-content .el-collapse{border:none}.questions-drawer-content .category-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;width:100%}.questions-drawer-content .category-header .category-title{-webkit-box-flex:1;-ms-flex:1;flex:1;font-weight:500;font-size:14px}.questions-drawer-content .category-header .badge{font-size:12px;padding:2px 8px;border-radius:12px}.questions-drawer-content .question-list{list-style:none;padding:0;margin:0}.questions-drawer-content .question-list .question-item{padding:10px 15px;margin-bottom:8px;background:#f8f9fa;border-radius:6px;cursor:pointer;-webkit-transition:all .2s ease;transition:all .2s ease;font-size:13px;color:#333;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.questions-drawer-content .question-list .question-item .question-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;width:100%;min-width:0}.questions-drawer-content .question-list .question-item .question-content .question-text{-webkit-box-flex:1;-ms-flex:1;flex:1;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:all .2s ease;transition:all .2s ease}.questions-drawer-content .question-list .question-item .question-content .question-text:hover{color:#4db8ea}.questions-drawer-content .question-list .question-item .question-content .edit-btn{border:none;background:transparent;cursor:pointer;padding:4px 8px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#6c757d;-webkit-transition:all .2s ease;transition:all .2s ease;-ms-flex-negative:0;flex-shrink:0}.questions-drawer-content .question-list .question-item .question-content .edit-btn:hover{color:#4db8ea}.questions-drawer-content .question-list .question-item:hover{background:#e8f4f8;color:#000;-webkit-transform:translateX(5px);transform:translateX(5px);border-radius:6px}.questions-drawer-content .question-list .question-item:hover .question-text{color:#000}.questions-drawer-content .question-list .question-item.disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.questions-drawer-content .question-list .question-item.disabled .edit-btn,.questions-drawer-content .question-list .question-item.disabled .question-text{cursor:not-allowed}.questions-drawer-content .question-list .question-item:last-child{margin-bottom:0}.action-btn{background-color:#fff;border-radius:.5rem!important;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1);-webkit-transition:all .2s ease;transition:all .2s ease}.action-btn svg{fill:#6c757d}.action-btn:hover{background-color:#e9ecef;-webkit-box-shadow:0 2px 6px rgba(0,0,0,.15);box-shadow:0 2px 6px rgba(0,0,0,.15)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.questions-drawer span[role=heading]{font-size:20px!important;font-weight:700!important}