@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-cyrillic-ext-400-normal.fd1478dcc74de00ee4c0.woff2) format("woff2"),url(/static/media/inter-cyrillic-ext-400-normal.c676f175d430bd465724.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-cyrillic-400-normal.cb04b2ee2f7d192478b8.woff2) format("woff2"),url(/static/media/inter-cyrillic-400-normal.062321ff8a8844520dc5.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-greek-ext-400-normal.f2fa0d9ef98f59d4a75b.woff2) format("woff2"),url(/static/media/inter-greek-ext-400-normal.02f9e7ef5cf29425f684.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-greek-400-normal.a8de720a6f13c66c8a4e.woff2) format("woff2"),url(/static/media/inter-greek-400-normal.9ec3b40ece10debf7a33.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-vietnamese-400-normal.44c9df135eec470b0ab6.woff2) format("woff2"),url(/static/media/inter-vietnamese-400-normal.aaa15d735e3826061950.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-latin-ext-400-normal.210fb826cb25acbd4094.woff2) format("woff2"),url(/static/media/inter-latin-ext-400-normal.c616205185f0d3677df9.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-latin-400-normal.eca1e21531598d5db58f.woff2) format("woff2"),url(/static/media/inter-latin-400-normal.2ea1079c0069eb040a52.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-cyrillic-ext-500-normal.023db878f10be2203b60.woff2) format("woff2"),url(/static/media/inter-cyrillic-ext-500-normal.69e09a587b911ec8ad0f.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-cyrillic-500-normal.b9dcbca183ac93f02061.woff2) format("woff2"),url(/static/media/inter-cyrillic-500-normal.397037a7cc1ed6f3012e.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-greek-ext-500-normal.b187635a3d8a0b90faa0.woff2) format("woff2"),url(/static/media/inter-greek-ext-500-normal.045dde1e05b73ab35d25.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-greek-500-normal.0d91a975f010051e7150.woff2) format("woff2"),url(/static/media/inter-greek-500-normal.debd93e5ca5313a6d262.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-vietnamese-500-normal.63d02ea896a7406849b6.woff2) format("woff2"),url(/static/media/inter-vietnamese-500-normal.296d66c0bba9086788b9.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-latin-ext-500-normal.cdb4dd5dc508fe6e7398.woff2) format("woff2"),url(/static/media/inter-latin-ext-500-normal.2f93aaa35e870cec4704.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-latin-500-normal.b7c27c60f848f2083f45.woff2) format("woff2"),url(/static/media/inter-latin-500-normal.5014db633e71a7741bf5.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-cyrillic-ext-600-normal.25b7c495f686777a1c08.woff2) format("woff2"),url(/static/media/inter-cyrillic-ext-600-normal.2c47e01b64f03ba9fb58.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-cyrillic-600-normal.ce60970447cde0dd1582.woff2) format("woff2"),url(/static/media/inter-cyrillic-600-normal.883b5e4d36b7b0812ed4.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-greek-ext-600-normal.c8a7cddec49294a9e8ba.woff2) format("woff2"),url(/static/media/inter-greek-ext-600-normal.7bff749a95dc0612fa35.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-greek-600-normal.5c46a357ea91911fc65d.woff2) format("woff2"),url(/static/media/inter-greek-600-normal.83c86cfda9c5fd96a471.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-vietnamese-600-normal.6984cf5e8583fac83be3.woff2) format("woff2"),url(/static/media/inter-vietnamese-600-normal.04bb56ffa463ab55708d.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-latin-ext-600-normal.8148c3ae14dfaefc62ca.woff2) format("woff2"),url(/static/media/inter-latin-ext-600-normal.4d0d5017d71ea1750fc1.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-latin-600-normal.69a8d1d484967aba2389.woff2) format("woff2"),url(/static/media/inter-latin-600-normal.f10265da6bd8d66999ac.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-cyrillic-ext-700-normal.5631f054acb5a33a716a.woff2) format("woff2"),url(/static/media/inter-cyrillic-ext-700-normal.0ddea3beace60380deb1.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-cyrillic-700-normal.36e9cf9ecc07ac6bce28.woff2) format("woff2"),url(/static/media/inter-cyrillic-700-normal.03cc5c4a68b77f60ea9b.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-greek-ext-700-normal.4cdf2b4e817dade3d4aa.woff2) format("woff2"),url(/static/media/inter-greek-ext-700-normal.ca8751b8c028cb9ae710.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-greek-700-normal.f5fbdfc39c2431160896.woff2) format("woff2"),url(/static/media/inter-greek-700-normal.04d33a0bd87050834f1a.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-vietnamese-700-normal.5d9bfcacc44f345662ff.woff2) format("woff2"),url(/static/media/inter-vietnamese-700-normal.cceb6e3d4483c3136077.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-latin-ext-700-normal.be70ab2888339fe67ac5.woff2) format("woff2"),url(/static/media/inter-latin-ext-700-normal.454735e8a8af2928485e.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-latin-700-normal.084676038be5b1c38324.woff2) format("woff2"),url(/static/media/inter-latin-700-normal.02426d017cf367236f56.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.file-upload-container{align-items:center;display:flex;justify-content:center;min-height:60vh;padding:2rem}.dropzone{background:#fafbfc;border:2px dashed #e0e6ed;border-radius:16px;cursor:pointer;max-width:600px;overflow:hidden;padding:4rem 2rem;position:relative;text-align:center;transition:all .3s ease;width:100%}.dropzone.busy{cursor:progress;pointer-events:none}.dropzone:before{background:linear-gradient(135deg,#6366f10d,#a855f70d);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.dropzone.active,.dropzone:hover{background:#fff;border-color:#6366f1;box-shadow:0 20px 40px #6366f11a;transform:translateY(-2px)}.dropzone.active:before,.dropzone:hover:before{opacity:1}.upload-content{position:relative;z-index:1}.upload-icon{color:#6b7280;margin-bottom:1.5rem;transition:color .3s ease}.dropzone.active .upload-icon,.dropzone:hover .upload-icon{color:#6366f1}.upload-content h3{color:#1f2937;font-size:1.5rem;font-weight:600;letter-spacing:-.025em;margin-bottom:.5rem}.upload-content p{color:#6b7280;font-size:1rem;line-height:1.5;margin-bottom:2rem}.file-info{color:#9ca3af;display:flex;flex-direction:column;font-size:.875rem;gap:.5rem}.file-info span{display:block}.upload-progress{background:#fff;border:1px solid #dbe3ef;border-radius:10px;margin-top:1rem;padding:.8rem;text-align:left}.progress-header{color:#334155;display:flex;font-size:.82rem;justify-content:space-between;margin-bottom:.4rem}.progress-track{background:#e2e8f0;border-radius:99px;height:8px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#2563eb,#0ea5e9);height:100%;transition:width .25s ease}.progress-note{color:#64748b;font-size:.75rem;margin:.45rem 0 0}.upload-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;font-size:.82rem;margin-top:.9rem;padding:.75rem}@media (max-width:768px){.file-upload-container{min-height:50vh;padding:1rem}.dropzone{padding:3rem 1.5rem}.upload-content h3{font-size:1.25rem}.upload-content p{font-size:.875rem}}.insights-panel{border:1px solid var(--border-subtle);height:100%;padding:14px}.insights-header{align-items:baseline;display:flex;gap:8px;justify-content:space-between;margin-bottom:10px}.insights-header h4{font-size:.96rem;margin:0}.insights-header span{color:var(--text-muted);font-size:.74rem}.empty-state-copy{color:var(--text-muted);font-size:.84rem}.insights-list{display:flex;flex-direction:column;gap:10px}.insight-card{background:#f8fbff;border:1px solid var(--border-subtle);border-radius:10px;padding:10px}.insight-card header{display:flex;gap:8px;justify-content:space-between}.insight-card h5{font-size:.88rem;margin:0}.insight-card p{color:var(--text-secondary);font-size:.78rem;margin:4px 0 0}.confidence-pill{border-radius:999px;font-size:.72rem;font-weight:700;height:-webkit-fit-content;height:fit-content;padding:4px 8px}.confidence-pill.high{background:#dcfce7;color:#166534}.confidence-pill.medium{background:#fef3c7;color:#92400e}.confidence-pill.low{background:#fee2e2;color:#b91c1c}.insight-block{margin-top:8px}.insight-block strong{color:var(--text-muted);font-size:.74rem;letter-spacing:.03em;text-transform:uppercase}.insight-block ul{margin:6px 0 0;padding-left:16px}.insight-block li{color:var(--text-secondary);font-size:.76rem;margin-bottom:4px}.citations li span{color:var(--text-primary);display:block}.citations li small{color:var(--text-muted)}.recommendation p{color:#0f4c81}.kpi-dashboard{background:linear-gradient(135deg,#fafbfc,#fff);border:1px solid #f3f4f6;border-radius:16px;box-shadow:0 4px 6px #00000008;margin-bottom:1rem;overflow:hidden;padding:1.2rem;position:relative}.kpi-dashboard:before{background:linear-gradient(90deg,#6366f1,#8b5cf6,#06b6d4,#10b981,#f59e0b);content:"";height:4px;left:0;position:absolute;right:0;top:0}.kpi-header{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.7rem}.kpi-title-section h3{align-items:center;color:#1f2937;display:flex;font-size:1.1rem;font-weight:700;gap:.5rem;letter-spacing:-.025em;margin:0 0 .25rem}.kpi-title-section h3:before{content:"🎯";font-size:1.25rem}.kpi-subtitle{color:#6b7280;font-size:.875rem;font-weight:500}.kpi-refresh{align-items:center;display:flex;gap:.5rem}.refresh-text{color:#6b7280;font-size:.75rem;font-weight:500}.refresh-indicator{animation:pulse 2s infinite;background:#10b981;border-radius:50%;height:8px;width:8px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.kpi-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:3rem}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #f3f4f6;border-radius:50%;border-top-color:#6366f1;height:32px;margin-bottom:1rem;width:32px}.kpi-grid{grid-gap:.8rem;display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:1rem}.kpi-card{animation:slideInUp .5s ease-out forwards;background:#fff;border:1px solid #e5e7eb;border-radius:12px;opacity:0;overflow:hidden;padding:.9rem;position:relative;transform:translateY(20px);transition:all .3s ease}@keyframes slideInUp{to{opacity:1;transform:translateY(0)}}.kpi-card:hover{border-color:#d1d5db;box-shadow:0 12px 24px #0000001a;transform:translateY(-4px)}.kpi-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem}.kpi-icon-section{gap:.75rem}.kpi-icon,.kpi-icon-section{align-items:center;display:flex}.kpi-icon{border:2px solid;border-radius:10px;font-size:.95rem;font-weight:600;height:30px;justify-content:center;width:30px}.kpi-category-badge{border-radius:6px;color:#fff;font-size:.625rem;font-weight:600;letter-spacing:.05em;padding:.25rem .5rem;text-transform:uppercase}.kpi-trend{align-items:center;display:flex;font-size:.75rem;font-weight:600;gap:.25rem}.trend-value{font-size:.7rem;opacity:.8}.kpi-content{margin-bottom:1rem}.kpi-value-section{margin-bottom:.75rem}.kpi-value{font-size:1.2rem;font-weight:800;line-height:1;margin-bottom:.25rem}.kpi-title,.kpi-value{letter-spacing:-.025em}.kpi-title{color:#374151;font-size:.875rem;font-weight:600}.kpi-description{color:#6b7280;font-size:.7rem;line-height:1.4}.kpi-type-indicator{position:absolute;right:1rem;top:1rem}.type-badge{background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;color:#9ca3af;font-size:.625rem;font-weight:500;letter-spacing:.05em;padding:.25rem .5rem;text-transform:uppercase}.kpi-priority-bar{background:#f3f4f6;bottom:0;height:3px;left:0;overflow:hidden;position:absolute;right:0}.priority-fill{border-radius:0 2px 0 0;height:100%;transition:width 1s ease-out .5s}.kpi-summary{align-items:center;border-top:1px solid #f3f4f6;display:flex;justify-content:space-between;padding-top:.8rem}.summary-stats{display:flex;gap:1.5rem}.summary-item{color:#6b7280;font-size:.75rem;font-weight:500}.summary-item strong{color:#1f2937;font-weight:700}.summary-note{color:#9ca3af;font-size:.75rem;font-style:italic}@media (max-width:768px){.kpi-dashboard{margin-bottom:1.5rem;padding:1.5rem}.kpi-header{align-items:flex-start;flex-direction:column;gap:1rem}.kpi-grid{gap:1rem;grid-template-columns:repeat(2,1fr)}.kpi-card{padding:1.25rem}.kpi-value{font-size:1.75rem}.kpi-summary{align-items:flex-start;flex-direction:column;gap:1rem}.summary-stats{flex-wrap:wrap;gap:1rem}}@media (max-width:480px){.kpi-grid{gap:.75rem;grid-template-columns:1fr}.kpi-card-header{align-items:flex-start;flex-direction:column;gap:.75rem}.kpi-icon{font-size:1.125rem;height:36px;width:36px}.kpi-value{font-size:1.5rem}}.data-qa{background:linear-gradient(135deg,#f8f9fa,#fff);border-radius:16px;box-shadow:0 4px 20px #00000014;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;max-width:100%;padding:20px}.qa-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:30px}.header-main{flex:1 1}.header-actions{gap:12px}.qa-header h2{color:#2c3e50;font-size:24px;font-weight:700;letter-spacing:-.5px;margin:0 0 8px}.qa-header p{color:#64748b;font-size:14px;font-weight:500;margin:0}.ai-status{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:20px;box-shadow:0 2px 4px #10b98133;display:flex;font-size:11px;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.ai-status,.clear-button{color:#fff;font-weight:600}.clear-button{background:#ef4444;border:none;border-radius:8px;cursor:pointer;font-size:12px;padding:8px 12px;transition:all .2s ease}.clear-button:hover{background:#dc2626;transform:translateY(-1px)}.qa-content{margin-bottom:20px;max-height:500px;min-height:300px;overflow-y:auto}.suggestions-section{margin-bottom:30px}.suggestions-section h3{color:#374151;font-size:18px;font-weight:600;margin:0 0 16px}.suggestions-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.suggestion-category{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 10px #0000000d;padding:16px}.category-header{align-items:center;display:flex;gap:8px;margin-bottom:12px}.category-icon{font-size:20px}.category-title{color:#374151;font-size:14px;font-weight:600}.category-questions{display:flex;flex-direction:column;gap:8px}.suggestion-button{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:13px;line-height:1.4;padding:10px 12px;text-align:left;transition:all .2s ease}.suggestion-button:hover{background:#3b82f6;border-color:#3b82f6;color:#fff;transform:translateY(-1px)}.qa-history{gap:20px;padding:20px 0}.qa-history,.qa-item{display:flex;flex-direction:column}.qa-item{gap:12px}.question{align-items:flex-start;align-self:flex-end;background:#3b82f6;border-radius:16px 16px 16px 4px;color:#fff;display:flex;gap:12px;margin-left:20%;max-width:80%;padding:16px}.question-icon{font-size:16px;margin-top:2px}.question-text{font-size:14px;font-weight:500;line-height:1.5}.answer{background:#fff;border:1px solid #e5e7eb;border-radius:16px 16px 4px 16px;box-shadow:0 2px 8px #0000001a;margin-right:20%;max-width:80%;padding:16px}.answer-header{justify-content:space-between;margin-bottom:8px}.answer-header,.answer-meta{align-items:center;display:flex}.answer-meta{gap:12px}.processing-method{background:#f1f5f9;border-radius:4px;color:#475569;font-size:10px;font-weight:500;letter-spacing:.5px;padding:2px 6px;text-transform:uppercase}.answer-icon{font-size:16px}.confidence-indicator{align-items:center;display:flex;font-size:12px;font-weight:500;gap:4px}.confidence-text{font-size:11px;letter-spacing:.5px;text-transform:uppercase}.confidence-high .confidence-indicator{color:#16a34a}.confidence-medium .confidence-indicator{color:#ea580c}.confidence-low .confidence-indicator{color:#dc2626}.answer-text{color:#374151;font-size:14px;line-height:1.6;margin-bottom:8px;white-space:pre-line}.reasoning{background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;color:#92400e;font-size:13px;margin-top:12px;padding:12px}.alternative-suggestions{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:8px;margin-top:12px;padding:12px}.alternative-suggestions strong{color:#0c4a6e;display:block;font-size:13px;margin-bottom:8px}.suggestion-chips{display:flex;flex-wrap:wrap;gap:6px}.suggestion-chip{background:#e0f2fe;border:1px solid #0ea5e9;border-radius:20px;color:#0c4a6e;cursor:pointer;font-size:12px;padding:4px 12px;transition:all .2s ease}.suggestion-chip:hover{background:#0ea5e9;color:#fff;transform:translateY(-1px)}.follow-up-questions{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:8px;margin-top:12px;padding:12px}.follow-up-questions strong{color:#0c4a6e;display:block;font-size:13px;margin-bottom:8px}.related-insights{background:#f0fdf4;border:1px solid #16a34a;border-radius:8px;margin-top:12px;padding:12px}.related-insights strong{color:#14532d;display:block;font-size:13px;margin-bottom:8px}.related-insights ul{margin:0;padding-left:16px}.related-insights li{color:#166534;font-size:12px;line-height:1.4;margin-bottom:4px}.qa-input-form{border-top:1px solid #e5e7eb;padding-top:20px}.input-group{align-items:center;display:flex;gap:12px}.qa-input{background:#fff;border:2px solid #e5e7eb;border-radius:12px;flex:1 1;font-size:14px;outline:none;padding:14px 16px;transition:all .2s ease}.qa-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.qa-input:disabled{background:#f9fafb;cursor:not-allowed}.submit-button{align-items:center;background:#3b82f6;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:16px;justify-content:center;min-width:50px;padding:14px 16px;transition:all .2s ease}.submit-button:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.submit-button:disabled{background:#9ca3af;cursor:not-allowed;transform:none}@media (max-width:768px){.data-qa{padding:16px}.suggestions-grid{grid-template-columns:1fr}.answer,.question{margin-left:5%;margin-right:5%;max-width:90%}.clear-button{margin-top:12px;position:static}.qa-header{text-align:left}.input-group{flex-direction:column}.qa-input,.submit-button{width:100%}}.data-visualizer{display:flex;flex-direction:column;gap:16px;min-width:0}.visualizer-header{align-items:center;display:flex;gap:18px;justify-content:space-between;padding:20px}.file-info h2{font-size:1.25rem;margin:0}.file-info p{color:var(--text-secondary);font-size:.9rem;margin:6px 0}.saved-indicator,.unsaved-indicator{border-radius:999px;display:inline-flex;font-size:.75rem;font-weight:600;padding:4px 10px}.saved-indicator{background:#dcfce7;color:#166534}.unsaved-indicator{background:#fef3c7;color:#92400e}.header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.pdf-button,.primary-button,.reset-button,.save-button{border:0;border-radius:10px;cursor:pointer;font-weight:600;padding:10px 14px;transition:transform .15s ease,opacity .15s ease}.primary-button,.save-button{background:#0f4c81;color:#fff}.pdf-button{background:#1f2937;color:#fff}.reset-button{background:#e2e8f0;color:#0f172a}.pdf-button:hover,.primary-button:hover,.reset-button:hover,.save-button:hover{transform:translateY(-1px)}.pdf-button:disabled,.primary-button:disabled,.save-button:disabled{cursor:not-allowed;opacity:.55}.main-navigation{display:flex;flex-wrap:wrap;gap:8px}.nav-tab{background:#fff;border:1px solid var(--border-subtle);border-radius:10px;color:var(--text-secondary);cursor:pointer;font-weight:600;padding:9px 14px}.nav-tab.active{background:#edf5ff;border-color:#0f4c81;color:#0f4c81}.chart-navigation{overflow-x:auto}.chart-tabs{display:flex;gap:8px;min-width:-webkit-max-content;min-width:max-content}.chart-tab{background:#fff;border:1px solid var(--border-subtle);border-radius:12px;cursor:pointer;display:flex;gap:8px;min-width:175px;padding:10px 12px;text-align:left}.chart-tab.active{background:#edf5ff;border-color:#0f4c81}.chart-number{align-items:center;background:#dbeafe;border-radius:999px;color:#0f4c81;display:inline-flex;font-size:.75rem;height:22px;justify-content:center;min-width:22px}.chart-title{color:var(--text-primary);font-size:.82rem}.chart-container{padding:20px}.chart-header{display:flex;gap:16px;justify-content:space-between;margin-bottom:14px}.chart-title-section h3{margin:0}.chart-title-section p{color:var(--text-secondary);margin:6px 0 0}.chart-controls{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.forecast-toggle{align-items:center;display:flex;font-size:.82rem;gap:8px}.forecast-toggle input{display:none}.toggle-slider{background:#dbe3ef;border-radius:999px;height:22px;position:relative;width:40px}.toggle-slider:before{background:#fff;border-radius:50%;content:"";height:18px;left:2px;position:absolute;top:2px;transition:transform .2s ease;width:18px}.forecast-toggle input:checked+.toggle-slider{background:#0f4c81}.forecast-toggle input:checked+.toggle-slider:before{transform:translateX(18px)}.forecast-info{color:var(--text-muted);display:flex;font-size:.75rem;gap:10px}.chart-content{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1.9fr 1fr;min-width:0}.chart-wrapper{border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden}.chart-wrapper,.insights-wrapper{min-height:320px;min-width:0}.qa-section{min-width:0;padding:18px}.error-state{padding:32px;text-align:center}.section-header h3{margin:0}.section-header p{color:var(--text-secondary);margin:6px 0 0}.cleaning-assistant,.dataset-health{padding:20px}.health-kpis{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,1fr);margin-top:16px}.health-kpi{background:#f8fbff;border:1px solid var(--border-subtle);border-radius:10px;padding:12px}.health-kpi span{color:var(--text-muted);display:block;font-size:.77rem}.health-kpi strong{display:block;font-size:.9rem;margin-top:4px}.columns-table-wrapper{border:1px solid var(--border-subtle);border-radius:10px;margin-top:14px;overflow-x:auto}.columns-table{border-collapse:collapse;width:100%}.columns-table td,.columns-table th{border-bottom:1px solid var(--border-subtle);font-size:.83rem;padding:10px;text-align:left}.columns-table th{background:#f8fafc;color:var(--text-muted);font-weight:600}.quality-grid,.sample-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-top:16px}.quality-card,.sample-card{background:#f8fbff;border:1px solid var(--border-subtle);border-radius:10px;padding:12px}.quality-card h4,.sample-card h4{margin:0 0 10px}.quality-issue,.quality-operation{background:#fff;border:1px solid var(--border-subtle);border-radius:8px;margin-bottom:8px;padding:8px}.issue-headline{font-size:.82rem}.issue-meta{color:var(--text-muted);display:flex;font-size:.74rem;gap:8px;margin-top:4px}.severity-high{border-color:#fca5a5}.severity-medium{border-color:#fcd34d}.severity-low{border-color:#bae6fd}.sample-card pre{color:#1f2937;font-size:.73rem;margin:0;max-height:220px;overflow:auto}.muted{color:var(--text-muted);font-size:.8rem}.save-notice{font-size:.85rem;padding:10px 14px}.pdf-export-staging{left:-12000px;opacity:0;pointer-events:none;position:fixed;top:0;width:900px;z-index:-1}.pdf-chart-wrapper{background:#fff;height:420px;margin-bottom:16px;width:860px}@media (max-width:1100px){.chart-content,.quality-grid,.sample-grid{grid-template-columns:1fr}.health-kpis{grid-template-columns:1fr 1fr}}@media (max-width:760px){.visualizer-header{flex-direction:column}.header-actions{flex-wrap:wrap}.health-kpis{grid-template-columns:1fr}}.history-sidebar-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.history-sidebar{animation:slideIn .3s ease-out;background:#fff;box-shadow:-4px 0 20px #00000026;display:flex;flex-direction:column;height:100vh;position:fixed;right:0;top:0;width:400px}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.sidebar-header{background:#fafbfc;border-bottom:1px solid #f3f4f6;padding:1.5rem}.header-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.header-title h3{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s ease}.close-button:hover{background:#f3f4f6;color:#374151}.storage-info{margin-bottom:1rem}.storage-stats{align-items:center;color:#6b7280;display:flex;font-size:.75rem;justify-content:space-between;margin-bottom:.5rem}.storage-bar{background:#f3f4f6;border-radius:2px;height:4px;overflow:hidden}.storage-progress{background:linear-gradient(90deg,#6366f1,#8b5cf6);height:100%;transition:width .3s ease}.search-controls{display:flex;flex-direction:column;gap:.75rem}.search-box{align-items:center;display:flex;position:relative}.search-box svg{color:#9ca3af;left:.75rem;pointer-events:none;position:absolute}.search-box input{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;padding:.75rem .75rem .75rem 2.5rem;transition:all .2s ease;width:100%}.search-box input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.sort-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:.75rem;padding:.5rem .75rem;transition:all .2s ease}.sort-select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.sidebar-content{flex:1 1;overflow-y:auto;padding:1rem}.empty-state,.loading-state{align-items:center;color:#6b7280;display:flex;flex-direction:column;height:300px;justify-content:center;text-align:center}.loading-state .spinner{animation:spin 1s ease-in-out infinite;border:2px solid #f3f4f6;border-radius:50%;border-top-color:#6366f1;height:24px;margin-bottom:1rem;width:24px}@keyframes spin{to{transform:rotate(1turn)}}.empty-icon{color:#d1d5db;margin-bottom:1rem}.empty-state h4{color:#374151;font-size:1rem;font-weight:600;margin:0 0 .5rem}.empty-state p{font-size:.875rem;line-height:1.5;margin:0}.visualizations-list{display:flex;flex-direction:column;gap:.75rem}.visualization-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;transition:all .2s ease}.visualization-item:hover{border-color:#6366f1;box-shadow:0 4px 12px #6366f11a}.viz-main{align-items:flex-start;cursor:pointer;display:flex;padding:1rem}.viz-info{flex:1 1;min-width:0}.viz-info h4{color:#1f2937;font-size:.875rem;font-weight:600;line-height:1.3;margin:0 0 .25rem;word-break:break-word}.viz-file{color:#6366f1;font-size:.75rem;font-weight:500;margin:0 0 .25rem;word-break:break-all}.viz-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#6b7280;display:-webkit-box;font-size:.75rem;line-height:1.4;margin:0 0 .5rem;overflow:hidden}.viz-meta{color:#9ca3af;display:flex;font-size:.625rem;gap:.75rem}.viz-preview{color:#d1d5db;flex-shrink:0;margin-left:.75rem}.viz-actions{background:#fafbfc;border-top:1px solid #f3f4f6;display:flex}.action-button{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;flex:1 1;justify-content:center;padding:.75rem;transition:all .2s ease}.action-button:hover{background:#f3f4f6}.action-button.export:hover{color:#6366f1}.action-button.delete{border-left:1px solid #f3f4f6}.action-button.delete:hover{color:#ef4444}.delete-confirmation{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:absolute;right:0;top:0}.delete-dialog{background:#fff;border-radius:8px;max-width:300px;padding:1.5rem;text-align:center;width:100%}.delete-dialog h4{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 .5rem}.delete-dialog p{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0 0 1.5rem}.delete-actions{display:flex;gap:.75rem}.cancel-delete,.confirm-delete{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:500;padding:.75rem;transition:all .2s ease}.cancel-delete{background:#f9fafb;border:1px solid #d1d5db;color:#374151}.cancel-delete:hover{background:#f3f4f6}.confirm-delete{background:#ef4444;color:#fff}.confirm-delete:hover{background:#dc2626}@media (max-width:640px){.history-sidebar{max-width:100vw;width:100vw}}.confirmation-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.confirmation-dialog{animation:confirmationAppear .2s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;max-width:400px;padding:2rem;text-align:center;width:90%}@keyframes confirmationAppear{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirmation-icon{align-items:center;border-radius:50%;display:flex;height:48px;justify-content:center;margin:0 auto 1.5rem;width:48px}.confirmation-icon.warning{background:#fef3c7;color:#f59e0b}.confirmation-icon.danger{background:#fee2e2;color:#ef4444}.confirmation-icon.info{background:#dbeafe;color:#3b82f6}.confirmation-content h3{color:#1f2937;font-size:1.125rem;font-weight:600;line-height:1.4;margin:0 0 .75rem}.confirmation-content p{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0 0 2rem}.confirmation-actions{display:flex;gap:.75rem;justify-content:center}.confirmation-cancel,.confirmation-confirm{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:500;min-width:100px;padding:.75rem 1.5rem;transition:all .2s ease}.confirmation-cancel{background:#f9fafb;border:1px solid #d1d5db;color:#374151}.confirmation-cancel:hover{background:#f3f4f6;border-color:#9ca3af}.confirmation-confirm{color:#fff}.confirmation-confirm.warning{background:#f59e0b}.confirmation-confirm.warning:hover{background:#d97706}.confirmation-confirm.danger{background:#ef4444}.confirmation-confirm.danger:hover{background:#dc2626}.confirmation-confirm.info{background:#3b82f6}.confirmation-confirm.info:hover{background:#2563eb}@media (max-width:640px){.confirmation-dialog{margin:1rem;padding:1.5rem}.confirmation-actions{flex-direction:column}.confirmation-cancel,.confirmation-confirm{width:100%}}:root{--bg-canvas:#f4f7fb;--bg-surface:#fff;--bg-sidebar:#0f172a;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--border-subtle:#dbe3ef;--brand-accent:#0f4c81;--brand-accent-soft:#e8f1fb;--success:#0f766e;--warning:#b45309;--danger:#b91c1c;--radius-lg:16px;--radius-md:12px;--radius-sm:8px;--shadow-soft:0 10px 30px #0f172a14;--shadow-card:0 4px 14px #0f172a0f}*{box-sizing:border-box}body{background:radial-gradient(circle at top right,#dee9f7 0,#f4f7fb 46%);background:radial-gradient(circle at top right,#dee9f7 0,var(--bg-canvas) 46%);color:#0f172a;color:var(--text-primary);font-family:Inter,Avenir Next,Segoe UI,sans-serif;margin:0;overflow-x:hidden}.App{display:grid;grid-template-columns:270px 1fr;min-height:100vh;width:100%}.app-sidebar{background:linear-gradient(180deg,#0f172a,#111827);color:#e5e7eb;display:flex;flex-direction:column;gap:24px;padding:28px 20px}.brand-block h1{font-size:1.4rem;letter-spacing:-.02em;margin:0}.brand-block p{color:#94a3b8;font-size:.86rem;margin:8px 0 0}.sidebar-nav{gap:10px}.sidebar-item,.sidebar-nav{display:flex;flex-direction:column}.sidebar-item{background:#0000;border:1px solid #0000;border-radius:12px;border-radius:var(--radius-md);color:#e2e8f0;cursor:pointer;gap:3px;padding:12px;text-align:left;transition:all .18s ease}.sidebar-item:hover{background:#94a3b814;border-color:#94a3b866}.sidebar-item.active{background:#3878c433;border-color:#81a8d699}.sidebar-item-label{font-size:.95rem;font-weight:600}.sidebar-item-helper{color:#94a3b8;font-size:.76rem}.history-button{background:#0f4c8133;border:1px solid #94a3b866;border-radius:8px;border-radius:var(--radius-sm);color:#e2e8f0;cursor:pointer;margin-top:auto;padding:10px 12px}.app-content{display:flex;flex-direction:column;gap:18px;min-width:0;padding:24px}.top-context-bar{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe0;border:1px solid #dbe3ef;border:1px solid var(--border-subtle);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 4px 14px #0f172a0f;box-shadow:var(--shadow-card);display:flex;justify-content:space-between;padding:18px 20px}.top-context-bar h2{font-size:1.1rem;margin:0}.top-context-bar p{color:#64748b;color:var(--text-muted);font-size:.86rem;margin:4px 0 0}.context-badges{display:flex;gap:8px}.badge{align-items:center;background:#e8f1fb;background:var(--brand-accent-soft);border-radius:999px;color:#0f4c81;color:var(--brand-accent);display:inline-flex;font-size:.76rem;font-weight:600;padding:6px 10px}.badge.success{background:#dcfce7;color:#166534}.badge.warning{background:#fef3c7;color:#92400e}.app-main{display:flex;flex-direction:column;gap:16px;min-width:0}.panel-surface{background:#fff;background:var(--bg-surface);border:1px solid #dbe3ef;border:1px solid var(--border-subtle);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 10px 30px #0f172a14;box-shadow:var(--shadow-soft)}.coming-soon-panel{padding:28px}.coming-soon-panel h2{margin-bottom:8px;margin-top:0}.coming-soon-panel p{color:#475569;color:var(--text-secondary);margin:0}.coming-soon-note{color:#64748b;color:var(--text-muted);font-size:.84rem;margin-top:14px}@media (max-width:1080px){.App{grid-template-columns:1fr}.app-sidebar{gap:14px;padding:16px}.sidebar-nav{display:grid;grid-template-columns:1fr 1fr}.history-button{margin-top:4px}}@media (max-width:720px){.app-content{padding:12px}.top-context-bar{align-items:flex-start;flex-direction:column;gap:10px}.context-badges{flex-wrap:wrap}.sidebar-nav{grid-template-columns:1fr}}
/*# sourceMappingURL=main.6de5b1e1.css.map*/