.ai-chat-container{display:flex;flex-direction:column;height:100%;flex:1;min-width:0;min-height:0;background:#f9fafb;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;color:#1a1a2e}.ai-chat-header{display:flex;align-items:center;justify-content:center;padding:16px 24px;background:#1eaaf1;color:#ffffff;flex-shrink:0}.ai-chat-header-inner{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:768px}.ai-chat-header-left{display:flex;align-items:center;gap:14px}.ai-chat-logo{display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:rgba(255,255,255,0.12);border-radius:12px}.ai-chat-header h1{font-size:18px;font-weight:600;margin:0;line-height:1.3}.ai-chat-header p{font-size:13px;margin:0;opacity:0.7}.ai-chat-header-actions{display:flex;align-items:center;gap:10px}.ai-chat-client-selector select{-webkit-appearance:none;appearance:none;background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.25);border-radius:8px;color:#ffffff;font-size:13px;padding:8px 32px 8px 12px;cursor:pointer;transition:background 0.2s, border-color 0.2s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;min-width:180px;max-width:280px;font-family:inherit}.ai-chat-client-selector select:hover{background-color:rgba(255,255,255,0.25);border-color:rgba(255,255,255,0.4)}.ai-chat-client-selector select:focus{outline:none;border-color:rgba(255,255,255,0.5);box-shadow:0 0 0 3px rgba(255,255,255,0.1)}.ai-chat-client-selector select option{color:#1a1a2e;background:#ffffff}.ai-chat-client-selector.attention-active select{animation:selectorPulseA 0.7s ease;border-color:rgba(251,146,60,0.95);box-shadow:0 0 0 0 rgba(251,146,60,0.45)}@keyframes selectorPulseA{0%{transform:translateX(0);box-shadow:0 0 0 0 rgba(251,146,60,0.45)}20%{transform:translateX(-2px)}40%{transform:translateX(2px)}60%{transform:translateX(-1px)}80%{transform:translateX(1px);box-shadow:0 0 0 6px rgba(251,146,60,0.2)}100%{transform:translateX(0);box-shadow:0 0 0 0 rgba(251,146,60,0)}}@keyframes selectorPulseB{0%{transform:translateX(0);box-shadow:0 0 0 0 rgba(251,146,60,0.45)}20%{transform:translateX(-2px)}40%{transform:translateX(2px)}60%{transform:translateX(-1px)}80%{transform:translateX(1px);box-shadow:0 0 0 6px rgba(251,146,60,0.2)}100%{transform:translateX(0);box-shadow:0 0 0 0 rgba(251,146,60,0)}}.ai-chat-clear-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.15);border-radius:8px;color:#ffffff;font-size:13px;cursor:pointer;transition:background 0.2s}.ai-chat-clear-btn:hover{background:rgba(255,255,255,0.2)}.ai-chat-window{flex:1;overflow-y:auto;padding:24px 24px 0;display:flex;flex-direction:column;gap:20px}.ai-chat-window::-webkit-scrollbar{width:6px}.ai-chat-window::-webkit-scrollbar-track{background:transparent}.ai-chat-window::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.ai-chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;flex:1;padding:40px 20px;color:#6b7280}.ai-chat-empty-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;background:#f3f4f6;border-radius:50%;margin-bottom:20px;color:#9ca3af}.ai-chat-empty h2{font-size:22px;font-weight:600;color:#1a1a2e;margin-bottom:8px}.ai-chat-empty>p{font-size:15px;max-width:420px;line-height:1.5}.ai-chat-suggestions{margin-top:28px;text-align:left;background:#ffffff;border:1px solid #e5e7eb;border-radius:12px;padding:16px 20px;width:100%;max-width:420px;box-sizing:border-box}.ai-chat-suggestions span{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:#9ca3af}.ai-chat-suggestions ul{list-style:none;margin-top:10px;display:flex;flex-direction:column;gap:8px;padding:0}.ai-chat-suggestions li{font-size:14px;color:#4b5563;padding:8px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:background 0.15s, border-color 0.15s, color 0.15s;width:100%;box-sizing:border-box}.ai-chat-suggestions li:hover{background:#eef7fe;border-color:#1eaaf1;color:#1eaaf1}.ai-chat-suggestions--disabled li{opacity:0.45;cursor:not-allowed}.ai-chat-suggestions--disabled li:hover{background:#f9fafb;border-color:#e5e7eb;color:#4b5563}.ai-chat-message{display:flex;gap:12px;align-items:flex-start;max-width:768px;width:100%;margin-left:auto;margin-right:auto;animation:fadeIn 0.3s ease}.ai-chat-message.user{flex-direction:row-reverse}@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ai-chat-avatar{flex-shrink:0;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;text-transform:uppercase}.ai-chat-avatar.user{background:#3b82f6;color:#ffffff}.ai-chat-avatar.assistant{background:#1a1a2e;color:#ffffff}.ai-chat-bubble{max-width:85%;padding:12px 16px;border-radius:16px;font-size:14px;line-height:1.6;word-wrap:break-word;-webkit-user-select:text;user-select:text}.ai-chat-bubble.user{background:#3b82f6;color:#ffffff;border-bottom-right-radius:4px}.ai-chat-bubble.user .ai-chat-user-link{color:#e0f2fe;text-decoration:underline;word-break:break-all}.ai-chat-bubble.user .ai-chat-user-link:hover{color:#ffffff}.ai-chat-bubble.assistant{position:relative;background:#ffffff;color:#1f2937;border:1px solid #e5e7eb;border-bottom-left-radius:4px}.ai-chat-bubble.assistant p{margin:0 0 8px}.ai-chat-bubble.assistant p:last-child{margin-bottom:0}.ai-chat-bubble.assistant strong{font-weight:600}.ai-chat-bubble.assistant em{font-style:italic}.ai-chat-bubble.assistant ul,.ai-chat-bubble.assistant ol{margin:4px 0 8px;padding-left:20px}.ai-chat-bubble.assistant li{margin-bottom:4px}.ai-chat-bubble.assistant li:last-child{margin-bottom:0}.ai-chat-bubble.assistant h1,.ai-chat-bubble.assistant h2,.ai-chat-bubble.assistant h3,.ai-chat-bubble.assistant h4{font-weight:600;margin:12px 0 6px;line-height:1.3}.ai-chat-bubble.assistant h1:first-child,.ai-chat-bubble.assistant h2:first-child,.ai-chat-bubble.assistant h3:first-child,.ai-chat-bubble.assistant h4:first-child{margin-top:0}.ai-chat-bubble.assistant h1{font-size:18px}.ai-chat-bubble.assistant h2{font-size:16px}.ai-chat-bubble.assistant h3{font-size:15px}.ai-chat-bubble.assistant h4{font-size:14px}.ai-chat-bubble.assistant code{background:#f3f4f6;padding:1px 5px;border-radius:4px;font-size:13px;font-family:"SF Mono", SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace}.ai-chat-bubble.assistant pre{background:#f3f4f6;border-radius:8px;padding:10px 12px;overflow-x:auto;margin:8px 0}.ai-chat-bubble.assistant pre code{background:none;padding:0}.ai-chat-bubble.assistant blockquote{border-left:3px solid #d1d5db;margin:8px 0;padding:4px 12px;color:#6b7280}.ai-chat-bubble.assistant hr{border:none;border-top:1px solid #e5e7eb;margin:12px 0}.ai-chat-bubble.assistant a{color:#1eaaf1;text-decoration:underline}.ai-chat-bubble.assistant table{border-collapse:collapse;margin:8px 0;font-size:13px;width:100%}.ai-chat-bubble.assistant th,.ai-chat-bubble.assistant td{border:1px solid #e5e7eb;padding:6px 10px;text-align:left}.ai-chat-bubble.assistant th{background:#f9fafb;font-weight:600}.ai-chart-card{margin:10px 0 4px;border:1px solid #e5e7eb;border-radius:10px;background:#f8fbff;padding:12px}.ai-chart-title{margin:0 0 10px;font-size:14px;font-weight:600;color:#1f2937}.ai-chart-error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.ai-chart-debug-pre{margin:8px 0 0;padding:10px;max-height:240px;overflow:auto;background:#0f172a;color:#f8fafc;border:1px solid #334155;border-radius:6px;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;-webkit-font-smoothing:antialiased}.ai-chat-bubble.assistant .ai-chart-debug-pre{background:#0f172a !important;color:#f8fafc !important;border:1px solid #334155;padding:12px 14px;margin:8px 0 0}.ai-chart-debug-details{margin-top:10px;font-size:12px;color:#1f2937}.ai-chart-debug-details summary{cursor:pointer;font-weight:600;user-select:none}.ai-chart-error .ai-chart-debug-details{color:#334155}.ai-chart-error .ai-chart-debug-details summary{color:#0f172a}.ai-chart-export-wrap{position:relative}.ai-chart-export-actions{position:absolute;top:8px;right:8px;z-index:12}.ai-chart-export-btn{display:inline-flex;align-items:center;justify-content:center;gap:0;width:28px;height:28px;padding:0;border:1px solid #e5e7eb;border-radius:999px;background:#ffffff;color:#6b7280;font-size:12px;line-height:1;font-family:inherit;cursor:pointer;position:relative;transition:background 0.15s, border-color 0.15s, color 0.15s, box-shadow 0.15s;box-shadow:0 1px 3px rgba(0,0,0,0.08)}.ai-chart-export-btn:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af;color:#1f2937;box-shadow:0 3px 8px rgba(0,0,0,0.12)}.ai-chart-export-label{position:absolute;top:50%;right:calc(100% + 8px);transform:translateY(-50%);background:#111827;color:#ffffff;font-size:11px;font-weight:600;padding:4px 7px;border-radius:5px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.15s}.ai-chart-export-btn:hover:not(:disabled) .ai-chart-export-label,.ai-chart-export-btn:focus-visible .ai-chart-export-label,.ai-chart-export-btn:disabled .ai-chart-export-label{opacity:1}.ai-chart-export-btn:disabled{cursor:not-allowed;opacity:0.65}.ai-dot-chart-header{display:flex;justify-content:flex-start;align-items:center;margin-bottom:6px}.ai-dot-axis-label{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:0.04em;font-weight:600}.ai-dot-axis-footer,.ai-line-axis-footer,.ai-histogram-axis-footer,.ai-scatter-axis-footer{display:grid;grid-template-columns:minmax(120px, 180px) 1fr;gap:10px;margin-top:4px}.ai-line-axis-footer,.ai-histogram-axis-footer,.ai-scatter-axis-footer{grid-template-columns:40px 1fr;gap:8px}.ai-dot-axis-footer-track,.ai-line-axis-footer-track,.ai-histogram-axis-footer-track,.ai-scatter-axis-footer-track{display:flex;justify-content:center}.ai-dot-chart-grid{display:flex;flex-direction:column;gap:8px}.ai-dot-row{display:grid;grid-template-columns:minmax(120px, 180px) 1fr;gap:10px;align-items:center}.ai-dot-row-label{font-size:12px;color:#374151;line-height:1.3}.ai-dot-row-track{position:relative;height:18px;cursor:crosshair}.ai-dot-row-line{position:absolute;left:0;right:0;top:8px;border-top:1px dashed #d1d5db}.ai-dot-point{position:absolute;top:3px;width:10px;height:10px;margin-left:-5px;border-radius:999px;border:1px solid #ffffff;box-shadow:0 0 0 1px rgba(17,24,39,0.08);transition:width 0.12s, height 0.12s, top 0.12s, margin-left 0.12s;z-index:3}.ai-dot-point--hover{width:16px;height:16px;top:0;margin-left:-8px;z-index:6;box-shadow:0 0 0 2px rgba(17,24,39,0.12)}.ai-dot-tooltip{position:absolute;bottom:26px;transform:translateX(-50%);background:#1f2937;color:#fff;font-size:11px;font-weight:600;padding:3px 8px;border-radius:5px;white-space:nowrap;pointer-events:none;z-index:10;box-shadow:0 2px 6px rgba(0,0,0,0.15)}.ai-dot-tooltip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:#1f2937}.ai-dot-ticks{display:grid;grid-template-columns:minmax(120px, 180px) 1fr;gap:10px;margin-top:10px}.ai-dot-ticks-track{display:flex;justify-content:space-between;position:relative}.ai-dot-tick{font-size:11px;color:#6b7280;line-height:1}.ai-dot-row-label--hover{font-weight:600;color:#1f2937}.ai-crosshair-x{position:absolute;top:-3px;bottom:-3px;width:1px;background:rgba(107,114,128,0.4);pointer-events:none;z-index:2}.ai-crosshair-y{position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(107,114,128,0.4);pointer-events:none;z-index:2}.ai-crosshair-x-label{position:absolute;top:0;transform:translateX(-50%);font-size:11px;font-weight:600;color:#374151;background:#fff;padding:1px 5px;border-radius:4px;border:1px solid #e5e7eb;white-space:nowrap;pointer-events:none;z-index:3}.ai-dot-legend{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:10px}.ai-dot-legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#374151}.ai-dot-legend-swatch{width:10px;height:10px;border-radius:999px}.ai-data-table-wrap{overflow-x:auto}.ai-data-table{width:100%;border-collapse:collapse;font-size:12px}.ai-data-table-th{text-align:left;padding:6px 10px;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:0.04em;border-bottom:2px solid #e5e7eb;white-space:nowrap}.ai-data-table-row:nth-child(even) .ai-data-table-td{background:#f3f4f6}.ai-data-table-td{padding:6px 10px;color:#374151;border-bottom:1px solid #f3f4f6;vertical-align:top}.ai-bar-chart{display:flex;flex-direction:column;gap:8px}.ai-bar-row{display:grid;grid-template-columns:minmax(120px, 180px) 1fr auto;gap:8px;align-items:center}.ai-bar-label{font-size:12px;color:#374151;line-height:1.3}.ai-bar-row{transition:background 0.12s;border-radius:4px;padding:1px 0}.ai-bar-row--hover{background:rgba(30,170,241,0.05)}.ai-bar-track{height:10px;background:#e5e7eb;border-radius:5px;overflow:visible;position:relative;transition:height 0.12s}.ai-bar-row--hover .ai-bar-track{height:14px}.ai-bar-fill{height:100%;background:#1eaaf1;border-radius:5px;transition:filter 0.12s}.ai-bar-row--hover .ai-bar-fill{filter:brightness(0.88)}.ai-bar-tooltip{position:absolute;bottom:calc(100% + 6px);transform:translateX(-50%);background:#1f2937;color:#fff;font-size:11px;font-weight:600;padding:3px 8px;border-radius:5px;white-space:nowrap;pointer-events:none;z-index:10;box-shadow:0 2px 6px rgba(0,0,0,0.15)}.ai-bar-tooltip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:#1f2937}.ai-bar-value{font-size:12px;font-weight:600;color:#374151;white-space:nowrap;min-width:24px;text-align:right}.ai-bar-unit{font-weight:400;color:#6b7280}.ai-line-chart,.ai-multi-bar-chart{display:flex;flex-direction:column;gap:10px}.ai-multi-bar-axis-labels{display:flex;justify-content:flex-start;font-size:11px;color:#6b7280;font-weight:600}.ai-multi-bar-axis-footer{display:flex;justify-content:center;margin-top:4px}.ai-line-plot-wrap{display:grid;grid-template-columns:40px 1fr;gap:8px;align-items:stretch}.ai-line-y-ticks{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end}.ai-line-y-tick{font-size:11px;color:#6b7280;line-height:1}.ai-line-plot{position:relative;height:170px}.ai-line-track{position:relative;height:200px;border-radius:10px;background:linear-gradient(180deg, rgba(30,170,241,0.03), rgba(30,170,241,0.01));border:1px solid #e5e7eb;cursor:crosshair;overflow:visible}.ai-line-svg{position:absolute;inset:0;width:100%;height:100%;z-index:2}.ai-line-gridline{position:absolute;left:0;right:0;height:1px;background:#e5e7eb;pointer-events:none;z-index:1}.ai-line-point{margin-left:0;transform:translate(-50%, -50%)}.ai-line-point.ai-dot-point--hover{margin-left:0}.ai-line-tooltip{position:absolute;transform:translate(-50%, calc(-100% - 10px));background:#1f2937;color:#fff;font-size:11px;font-weight:600;padding:3px 8px;border-radius:5px;white-space:nowrap;pointer-events:none;z-index:10;box-shadow:0 2px 6px rgba(0,0,0,0.15)}.ai-line-tooltip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:#1f2937}.ai-line-x-labels{display:grid;grid-template-columns:40px 1fr;gap:8px;font-size:11px;color:#6b7280;min-height:20px}.ai-line-x-labels-track{position:relative;height:20px}.ai-line-x-label-item{position:absolute;transform:translateX(-50%);white-space:nowrap;cursor:default}.ai-line-x-label--active{font-weight:600;color:#374151}.ai-line-x-labels--angled{min-height:34px}.ai-line-x-labels--angled .ai-line-x-labels-track{height:34px}.ai-line-x-label-item--angled{transform:translateX(-50%) rotate(-32deg);transform-origin:top center}.ai-line-crosshair-x-label{top:auto;bottom:calc(100% + 6px);background:#1f2937;color:#fff;border:none;box-shadow:0 2px 6px rgba(0,0,0,0.15)}.ai-line-crosshair-x-label::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:#1f2937}.ai-line-legend{display:flex;flex-wrap:wrap;gap:10px 14px}.ai-line-legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#374151}.ai-line-legend-swatch{width:10px;height:10px;border-radius:999px}.ai-histogram-chart,.ai-scatter-chart{display:flex;flex-direction:column;gap:10px}.ai-histogram-track,.ai-scatter-track{position:relative;height:210px;border-radius:10px;background:linear-gradient(180deg, rgba(30,170,241,0.03), rgba(30,170,241,0.01));border:1px solid #e5e7eb;overflow:visible}.ai-histogram-plot-wrap,.ai-scatter-plot-wrap{display:grid;grid-template-columns:40px 1fr;gap:8px;align-items:stretch}.ai-histogram-y-ticks,.ai-scatter-y-ticks{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end}.ai-histogram-y-tick,.ai-scatter-y-tick{font-size:11px;color:#6b7280;line-height:1}.ai-histogram-gridline{position:absolute;left:0;right:0;height:1px;background:#e5e7eb}.ai-histogram-bin{position:absolute;bottom:0;min-width:1px;border-radius:4px 4px 0 0;background:#1eaaf1;transform-origin:bottom center;animation:aiHistGrow 340ms ease both;transition:filter 0.14s ease, transform 0.14s ease}.ai-histogram-bin--hover{filter:brightness(0.9);transform:scaleY(1.08)}.ai-histogram-tooltip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);background:#1f2937;color:#fff;font-size:11px;font-weight:600;padding:3px 8px;border-radius:5px;white-space:nowrap;pointer-events:none;z-index:10;box-shadow:0 2px 6px rgba(0,0,0,0.15)}.ai-histogram-tooltip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:#1f2937}.ai-histogram-ticks{display:grid;grid-template-columns:40px 1fr;gap:8px;font-size:11px;color:#6b7280}.ai-histogram-ticks-track,.ai-scatter-ticks-track{display:flex;justify-content:space-between}.ai-scatter-gridline{position:absolute;left:0;right:0;height:1px;background:#e5e7eb}.ai-scatter-point{position:absolute;width:10px;height:10px;border-radius:999px;border:1px solid #fff;box-shadow:0 0 0 1px rgba(17,24,39,0.08);transform:translate(-50%, -50%);animation:aiScatterPop 260ms ease both;transition:width 0.14s ease, height 0.14s ease, box-shadow 0.14s ease;z-index:4}.ai-scatter-point--hover{width:16px;height:16px;box-shadow:0 0 0 2px rgba(17,24,39,0.12);z-index:8}.ai-scatter-tooltip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);background:#1f2937;color:#fff;font-size:11px;font-weight:600;padding:3px 8px;border-radius:5px;white-space:nowrap;pointer-events:none;z-index:10;box-shadow:0 2px 6px rgba(0,0,0,0.15)}.ai-scatter-tooltip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:#1f2937}.ai-scatter-ticks{display:grid;grid-template-columns:40px 1fr;gap:8px;font-size:11px;color:#6b7280}@keyframes aiHistGrow{0%{transform:scaleY(0);opacity:0.35}100%{transform:scaleY(1);opacity:1}}@keyframes aiScatterPop{0%{transform:translate(-50%, -50%) scale(0.6);opacity:0}100%{transform:translate(-50%, -50%) scale(1);opacity:1}}.ai-stacked-bars,.ai-grouped-bars{display:flex;flex-direction:column;gap:8px}.ai-stacked-row,.ai-grouped-row{display:grid;grid-template-columns:minmax(120px, 180px) 1fr auto;gap:8px;align-items:center;transition:background 0.12s ease;border-radius:4px;padding:1px 0}.ai-stacked-row-label,.ai-grouped-row-label{font-size:12px;color:#374151;line-height:1.3;transition:color 0.12s ease, font-weight 0.12s ease}.ai-stacked-row-label--hover,.ai-grouped-row-label--hover{font-weight:600;color:#1f2937}.ai-stacked-row--hover,.ai-grouped-row--hover{background:rgba(30,170,241,0.05)}.ai-stacked-row-track{display:flex;height:14px;background:#e5e7eb;border-radius:6px;overflow:visible}.ai-stacked-row-segment{height:100%;position:relative;transform-origin:left center;animation:aiBarGrow 360ms ease both;transition:filter 0.14s ease, transform 0.14s ease, box-shadow 0.14s ease;z-index:1}.ai-stacked-row-segment:hover,.ai-stacked-row--hover .ai-stacked-row-segment{filter:brightness(0.9);transform:scale(1.02, 1.4);box-shadow:0 1px 4px rgba(17,24,39,0.16);z-index:3}.ai-stacked-row-total{font-size:12px;font-weight:600;color:#374151;white-space:nowrap;min-width:24px;text-align:right}.ai-grouped-row-group{display:flex;flex-direction:column;gap:5px}.ai-grouped-bar-item{height:14px;background:#e5e7eb;border-radius:7px;overflow:visible}.ai-grouped-bar-fill{height:100%;border-radius:7px;position:relative;display:flex;align-items:center;justify-content:flex-end;padding-right:6px;transform-origin:left center;animation:aiBarGrow 360ms ease both;transition:filter 0.14s ease, transform 0.14s ease, box-shadow 0.14s ease}.ai-grouped-bar-fill:hover,.ai-grouped-row--hover .ai-grouped-bar-fill{filter:brightness(0.9);transform:scale(1.02, 1.2);box-shadow:0 1px 4px rgba(17,24,39,0.16);z-index:3}.ai-grouped-bar-value{font-size:11px;font-weight:700;color:#fff;line-height:1;white-space:nowrap;text-shadow:0 1px 1px rgba(0,0,0,0.25);pointer-events:none}.ai-multi-bar-tooltip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(calc(-50% + var(--tooltip-shift, 0px)));background:#1f2937;color:#fff;font-size:11px;font-weight:600;padding:3px 8px;border-radius:5px;white-space:nowrap;pointer-events:none;z-index:10;box-shadow:0 2px 6px rgba(0,0,0,0.15);opacity:0;visibility:hidden;transition:opacity 0.12s ease}.ai-multi-bar-tooltip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:#1f2937}.ai-stacked-row-segment:hover .ai-multi-bar-tooltip,.ai-grouped-bar-fill:hover .ai-multi-bar-tooltip,.ai-stacked-row--hover .ai-multi-bar-tooltip,.ai-grouped-row--hover .ai-multi-bar-tooltip{opacity:1;visibility:visible}@keyframes aiBarGrow{0%{transform:scaleX(0);opacity:0.35}100%{transform:scaleX(1);opacity:1}}.ai-stat-cards{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}.ai-stat-card{flex:1 1 80px;background:#f8fbff;border:1px solid #e5e7eb;border-radius:10px;padding:10px 14px;text-align:center;min-width:72px}.ai-stat-value{font-size:22px;font-weight:700;color:#1f2937;line-height:1;margin-bottom:5px}.ai-stat-unit{font-size:13px;font-weight:400;color:#6b7280}.ai-stat-label{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:0.04em;font-weight:600}.ai-stat-subtitle{font-size:11px;color:#9ca3af;margin-top:4px;font-weight:400;text-transform:none;letter-spacing:normal;line-height:1.25}.ai-stat-subtitle.ai-stat-trend-up{color:#059669}.ai-stat-subtitle.ai-stat-trend-down{color:#dc2626}.ai-timeline-grid{display:flex;flex-direction:column;gap:8px}.ai-timeline-row{display:grid;grid-template-columns:minmax(120px, 180px) 1fr;gap:10px;align-items:center}.ai-timeline-label{display:flex;flex-direction:column;gap:1px}.ai-timeline-label-main{font-size:12px;color:#374151;line-height:1.3}.ai-timeline-label-sub{font-size:11px;color:#6b7280}.ai-timeline-track{position:relative;height:14px}.ai-timeline-track-line{position:absolute;left:0;right:0;top:6px;border-top:1px dashed #d1d5db}.ai-timeline-bar{position:absolute;top:2px;height:10px;border-radius:5px;min-width:4px}.ai-timeline-header{display:grid;grid-template-columns:minmax(120px, 180px) 1fr;gap:10px;margin-bottom:2px}.ai-timeline-header-track{position:relative;height:16px}.ai-timeline-today-label{position:absolute;bottom:0;transform:translateX(-50%);font-size:11px;font-weight:700;color:#ef4444;white-space:nowrap;pointer-events:none}.ai-timeline-row{cursor:default;transition:background 0.12s;border-radius:4px;padding:1px 0}.ai-timeline-row--hover{background:rgba(0,0,0,0.03)}.ai-timeline-row--hover .ai-timeline-bar{height:14px;top:0;border-radius:6px}.ai-timeline-bar-tooltip{position:absolute;bottom:calc(100% + 6px);transform:translateX(-50%);background:#1f2937;color:#fff;font-size:11px;padding:3px 8px;border-radius:5px;white-space:nowrap;pointer-events:none;z-index:10;box-shadow:0 2px 6px rgba(0,0,0,0.15)}.ai-timeline-bar-tooltip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:#1f2937}.ai-timeline-today{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;background:#ef4444;border-radius:1px;z-index:1}.ai-timeline-ticks{display:grid;grid-template-columns:minmax(120px, 180px) 1fr;gap:10px;margin-top:8px}.ai-timeline-ticks-track{display:flex;justify-content:space-between}.ai-timeline-tick{font-size:11px;color:#6b7280;line-height:1}.ai-truncation-warning{margin-top:10px;padding:8px 10px;border-radius:7px;background:#fffbeb;border:1px solid #fde68a;font-size:12px;color:#92400e;line-height:1.5}.ai-chart-fallback-wrap{margin:8px 0}.ai-chart-fallback-note{margin:0 0 4px;font-size:11px;color:#b45309}.ai-chat-message-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.ai-chat-action-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;background:transparent;border:1px solid transparent;border-radius:6px;font-size:12px;color:#9ca3af;cursor:pointer;transition:color 0.15s, background 0.15s, border-color 0.15s;font-family:inherit;-webkit-user-select:none;user-select:none}.ai-chat-action-btn:hover:not(:disabled){color:#4b5563;background:#f3f4f6;border-color:#e5e7eb}.ai-chat-copy-btn.copied{color:#16a34a}.ai-chat-action-btn:disabled{cursor:not-allowed;opacity:0.65}.ai-chat-status-wrap{display:flex;align-items:center;gap:10px}.ai-chat-status-text{font-size:13px;color:#6b7280;font-style:italic;animation:aiStatusFadeIn 0.18s ease}@keyframes aiStatusFadeIn{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.ai-chat-typing{display:flex;gap:5px;padding:4px 0}.ai-chat-typing span{width:8px;height:8px;background:#9ca3af;border-radius:50%;animation:typing 1.4s infinite}.ai-chat-typing span:nth-child(2){animation-delay:0.2s}.ai-chat-typing span:nth-child(3){animation-delay:0.4s}@keyframes typing{0%,60%,100%{transform:translateY(0);opacity:0.4}30%{transform:translateY(-6px);opacity:1}}.ai-chat-input-form{padding:16px 24px 20px;border-top:1px solid #e5e7eb;background:#ffffff;flex-shrink:0}.ai-chat-input-wrapper{display:flex;align-items:center;position:relative;gap:10px;max-width:768px;margin:0 auto;background:#f9fafb;border:1px solid #d1d5db;border-radius:14px;padding:8px 8px 8px 16px;transition:border-color 0.2s, box-shadow 0.2s}.ai-chat-input-wrapper:focus-within{border-color:#1eaaf1;box-shadow:0 0 0 3px rgba(30,170,241,0.1)}.ai-chat-input-wrapper.disabled-with-reason{border-color:#f59e0b;background:#fffbeb}.ai-chat-input-disabled-hitbox{position:absolute;inset:0;border:0;border-radius:inherit;background:transparent;cursor:not-allowed;z-index:3}.ai-chat-input{flex:1;border:none;outline:none;background:transparent;font-size:14px;line-height:1.4;resize:none;font-family:inherit;color:#1f2937;max-height:150px;min-height:22px;padding:6px 0;position:relative;z-index:1}.ai-chat-input::placeholder{color:#9ca3af}.ai-chat-send-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:none;border-radius:10px;background:#1eaaf1;color:#ffffff;cursor:pointer;flex-shrink:0;transition:background 0.2s, transform 0.1s;position:relative;z-index:1}.ai-chat-send-btn:hover:not(:disabled){background:#1890d0;transform:scale(1.05)}.ai-chat-send-btn:disabled{background:#d1d5db;cursor:not-allowed}.ai-chat-disclaimer{font-size:11px;color:#9ca3af;text-align:center;margin-top:8px;max-width:768px;margin-left:auto;margin-right:auto}.ai-chat-loading-state{display:flex;align-items:center;justify-content:center;height:100%;font-size:15px;color:#9ca3af}@media print{@page{margin:12mm}body.ai-chat-printing{visibility:hidden !important;position:relative !important}body.ai-chat-printing>*:not(#ai-cortex-print-section){height:0 !important;overflow:hidden !important}body.ai-chat-printing #ai-cortex-print-section{visibility:visible !important;display:block !important;position:absolute !important;top:0 !important;left:0 !important;width:100% !important;padding:0 !important;background:#ffffff;color:#1f2937;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;font-size:14px;line-height:1.6}body.ai-chat-printing #ai-cortex-print-section *{visibility:visible !important;animation:none !important;transition:none !important;opacity:1 !important;-webkit-print-color-adjust:exact !important;print-color-adjust:exact !important}body.ai-chat-printing #ai-cortex-print-section .ai-chat-bubble.assistant{max-width:none !important;width:100% !important;border:none !important;border-radius:0 !important;padding:0 !important;background:#ffffff !important;color:#1f2937 !important;box-shadow:none !important}}@media (max-width: 640px){.ai-chat-header{padding:12px 16px}.ai-chat-window{padding:16px 16px 0}.ai-chat-input-form{padding:12px 16px 16px}.ai-dot-row,.ai-dot-ticks{grid-template-columns:90px 1fr;gap:8px}}
