@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";body{margin:0}.login-page{position:relative;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--bg-primary)}.login-page:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at center,rgba(59,130,246,.08) 0%,transparent 100%);pointer-events:none}.login-page .three-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;opacity:.6}.login-page .particles{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.login-page .particles .particle{position:absolute;width:4px;height:4px;background:linear-gradient(135deg,var(--accent-primary),var(--accent-purple));border-radius:50%;box-shadow:0 0 10px var(--focus-ring)}.login-page .login-container{position:relative;z-index:10;width:480px;padding:60px 50px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:24px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.login-page .login-container .logo-section{text-align:center;margin-bottom:50px}.login-page .login-container .logo-section .logo-wrapper{display:inline-block;margin-bottom:20px}.login-page .login-container .logo-section .logo-wrapper .logo-icon{width:100px;height:100px;display:flex;align-items:center;justify-content:center;background:#3b82f61a;border-radius:30px;border:2px solid var(--border-highlight)}.login-page .login-container .logo-section .title{font-size:2.5rem;font-weight:800;letter-spacing:.05em;margin-bottom:10px;color:var(--text-primary)}.login-page .login-container .logo-section .subtitle{color:var(--text-muted);font-size:.9rem;text-transform:uppercase;letter-spacing:.2em}.login-page .login-container .login-button{position:relative;overflow:hidden}.login-page .login-container .login-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .6s,height .6s}.login-page .login-container .login-button:active:before{width:300px;height:300px}.login-page .login-container .login-button.loading{pointer-events:none}.login-page .login-container .biometric-section{text-align:center;margin-top:30px;padding-top:30px;border-top:1px solid var(--border-color)}.login-page .login-container .MuiTextField-root .MuiOutlinedInput-root{background:var(--bg-input);color:var(--text-primary)}.login-page .login-container .MuiTextField-root .MuiOutlinedInput-root input{color:var(--text-primary)}.login-page .login-container .MuiTextField-root .MuiOutlinedInput-root input::placeholder{color:var(--text-muted)}.login-page .login-container .MuiTextField-root .MuiOutlinedInput-root fieldset{border-color:var(--border-color)}.login-page .login-container .MuiTextField-root .MuiOutlinedInput-root:hover fieldset{border-color:var(--border-highlight)}.login-page .login-container .MuiTextField-root .MuiOutlinedInput-root.Mui-focused fieldset{border-color:var(--accent-primary)}.login-page .login-container .MuiTextField-root .MuiInputLabel-root{color:var(--text-muted)}.login-page .login-container .MuiTextField-root .MuiInputLabel-root.Mui-focused{color:var(--accent-primary)}.kpi-dashboard{height:100%;padding:24px;overflow-y:auto;background:var(--bg-primary)}.kpi-dashboard .dashboard-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.kpi-dashboard .dashboard-controls .section-title{font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.kpi-dashboard .dashboard-controls .time-selector{min-width:150px}.kpi-dashboard .kpi-cards{margin-bottom:24px}.kpi-dashboard .kpi-cards .kpi-card{padding:24px;height:100%;position:relative;overflow:hidden;background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px}.kpi-dashboard .kpi-cards .kpi-card .kpi-icon{width:60px;height:60px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;background:#3b82f61a}.kpi-dashboard .kpi-cards .kpi-card .kpi-value{font-weight:800;margin-bottom:8px;font-variant-numeric:tabular-nums;color:var(--text-primary)}.kpi-dashboard .kpi-cards .kpi-card .kpi-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;margin-bottom:12px}.kpi-dashboard .kpi-cards .kpi-card .kpi-trend.positive{background:#10b98126;color:var(--accent-secondary);border:1px solid rgba(16,185,129,.3)}.kpi-dashboard .kpi-cards .kpi-card .kpi-trend.negative{background:#ef444426;color:var(--accent-error);border:1px solid rgba(239,68,68,.3)}.kpi-dashboard .kpi-cards .kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent-primary),transparent);animation:shimmer 3s infinite}.kpi-dashboard .dashboard-charts .chart-container{padding:24px;height:100%;background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px}.kpi-dashboard .dashboard-charts .chart-container .chart-title{margin-bottom:20px;font-weight:600;color:var(--text-primary)}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.MuiChip-root{font-weight:600}.world-class-chat{height:calc(100vh - 80px);max-height:calc(100vh - 80px);width:100%;display:flex;background:transparent;position:relative;overflow:hidden}.world-class-chat .chat-area{width:100%;height:100%;max-height:calc(100vh - 140px);display:flex;flex-direction:column;background:transparent;margin-top:60px;overflow:hidden}.world-class-chat .chat-area.glass{background:transparent!important;box-shadow:none!important}.world-class-chat .chat-area .ultra-compact-header{height:56px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0;position:sticky;top:0;z-index:100}.world-class-chat .chat-area .ultra-compact-header .MuiIconButton-root{color:var(--text-secondary)}.world-class-chat .chat-area .ultra-compact-header .MuiIconButton-root:hover{background:var(--hover-overlay)}.world-class-chat .chat-area .ultra-compact-header .MuiChip-root{background:#3b82f61a;border:1px solid var(--border-highlight);color:var(--accent-primary)}.world-class-chat .chat-area .ultra-compact-header .MuiButton-root{border-color:var(--accent-primary);color:var(--accent-primary);text-transform:none;padding:4px 12px}.world-class-chat .chat-area .ultra-compact-header .MuiButton-root:hover{background:#3b82f61a;border-color:var(--accent-primary)}.world-class-chat .chat-area .messages-area{flex:1;overflow-y:auto;overflow-x:hidden;padding:24px 24px 100px;background:var(--chat-bg)}.world-class-chat .chat-area .messages-area::-webkit-scrollbar{width:10px}.world-class-chat .chat-area .messages-area::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:5px}.world-class-chat .chat-area .messages-area::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:5px}.world-class-chat .chat-area .messages-area::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.world-class-chat .chat-area .messages-area .welcome-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;color:var(--text-secondary)}.world-class-chat .chat-area .messages-area .welcome-state svg{color:var(--accent-primary);margin-bottom:20px}.world-class-chat .chat-area .messages-area .welcome-state h5{color:var(--text-primary);margin-bottom:12px}.world-class-chat .chat-area .messages-area .welcome-state .MuiButton-root{margin-top:20px}.world-class-chat .chat-area .messages-area .message{display:flex;width:100%;margin-bottom:20px}.world-class-chat .chat-area .messages-area .message.user{justify-content:flex-end}.world-class-chat .chat-area .messages-area .message.user>*{max-width:60%;background:linear-gradient(135deg,var(--accent-primary) 0%,#2563eb 100%);color:#fff;padding:12px 18px;border-radius:20px 20px 4px;box-shadow:var(--shadow-md)}.world-class-chat .chat-area .messages-area .message.user>* p{margin:0;color:#fff}.world-class-chat .chat-area .messages-area .message.ai{justify-content:flex-start;flex-direction:column;align-items:flex-start}.world-class-chat .chat-area .messages-area .message.ai>*{max-width:80%}.world-class-chat .chat-area .messages-area .message.ai>p,.world-class-chat .chat-area .messages-area .message.ai>div>p{background:var(--message-assistant-bg);border:1px solid var(--message-border);color:var(--text-primary);padding:12px 18px;border-radius:20px 20px 20px 4px;margin:0 0 12px;display:inline-block;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.world-class-chat .chat-area .messages-area .message.ai .MuiBox-root:has(pre){background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:12px;margin:12px 0;width:100%}.world-class-chat .chat-area .messages-area .message.ai .MuiBox-root:has(pre) pre{margin:0;color:var(--accent-info);font-size:12px;overflow-x:auto;max-height:200px}.world-class-chat .chat-area .messages-area .message.ai .viz-container{width:100%;height:450px;min-height:400px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;padding:20px;margin:12px 0}.world-class-chat .chat-area .messages-area .message.ai .viz-container canvas{max-width:100%!important;height:auto!important}.world-class-chat .chat-area .messages-area .message.ai .viz-container .viz-toolbar{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-light)}.world-class-chat .chat-area .messages-area .message.ai .viz-container .viz-toolbar .MuiChip-root{cursor:pointer;background:#3b82f61a;border:1px solid var(--border-highlight);color:var(--accent-primary)}.world-class-chat .chat-area .messages-area .message.ai .viz-container .viz-toolbar .MuiChip-root:hover{background:#3b82f633}.world-class-chat .chat-area .messages-area .message.ai .feedback-actions{display:flex;gap:8px;margin-top:8px}.world-class-chat .chat-area .messages-area .message.ai .feedback-actions .MuiIconButton-root{color:var(--text-disabled);padding:4px}.world-class-chat .chat-area .messages-area .message.ai .feedback-actions .MuiIconButton-root:hover{background:var(--hover-overlay)}.world-class-chat .chat-area .messages-area .loading-state{display:flex;align-items:center;gap:12px;padding:20px;color:var(--text-muted)}.world-class-chat .chat-area .suggestions-bar{min-height:50px;padding:10px 20px;display:flex;gap:8px;overflow-x:auto;background:var(--bg-secondary);border-top:1px solid var(--border-color);flex-shrink:0}.world-class-chat .chat-area .suggestions-bar::-webkit-scrollbar{height:4px}.world-class-chat .chat-area .suggestions-bar .MuiChip-root{cursor:pointer;background:#3b82f61a;border:1px solid var(--border-highlight);color:var(--accent-primary);flex-shrink:0}.world-class-chat .chat-area .suggestions-bar .MuiChip-root:hover{background:#3b82f633}.world-class-chat .chat-area .input-bar{min-height:70px;padding:15px 20px;display:flex;gap:12px;align-items:center;background:var(--bg-secondary);border-top:1px solid var(--border-color);flex-shrink:0}.world-class-chat .chat-area .input-bar .MuiTextField-root{flex:1}.world-class-chat .chat-area .input-bar .MuiTextField-root .MuiOutlinedInput-root{color:var(--text-primary);background:var(--bg-input);border-radius:25px}.world-class-chat .chat-area .input-bar .MuiTextField-root .MuiOutlinedInput-root input{color:var(--text-primary);padding:10px 16px}.world-class-chat .chat-area .input-bar .MuiTextField-root .MuiOutlinedInput-root input::placeholder{color:var(--text-muted)}.world-class-chat .chat-area .input-bar .MuiTextField-root .MuiOutlinedInput-root fieldset{border-color:var(--border-color)}.world-class-chat .chat-area .input-bar .MuiTextField-root .MuiOutlinedInput-root.Mui-focused fieldset{border-color:var(--accent-primary)}.world-class-chat .chat-area .input-bar .MuiIconButton-root{color:var(--text-secondary)}.world-class-chat .chat-area .input-bar .MuiIconButton-root:hover{background:var(--hover-overlay)}.world-class-chat .chat-area .input-bar .MuiIconButton-root.listening{color:var(--accent-secondary)}.MuiDrawer-paper{background:var(--sidebar-bg)!important;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--sidebar-border)}.MuiDrawer-paper .MuiList-root{padding:8px}.MuiDrawer-paper .MuiList-root .MuiListItem-root{border-radius:8px;margin-bottom:4px;color:var(--text-primary)}.MuiDrawer-paper .MuiList-root .MuiListItem-root:hover{background:var(--sidebar-item-hover)}.MuiDrawer-paper .MuiList-root .MuiListItem-root.Mui-selected{background:var(--sidebar-item-active);border:1px solid var(--border-highlight)}.client-switcher-inline{display:flex;align-items:center;gap:6px;color:var(--text-secondary)}.client-switcher-inline .client-name{font-size:.85rem;font-weight:500;white-space:nowrap}.client-switcher-inline .client-select-form{min-width:140px;max-width:200px}.client-switcher-inline .client-select{font-size:.85rem;font-weight:500;color:var(--text-primary)}.client-switcher-inline .client-select .MuiSelect-select{padding:2px 24px 2px 0;font-size:.85rem}.client-switcher-inline .client-select .MuiSelect-icon{color:var(--text-muted)}.client-menu-paper{background:var(--bg-card)!important;border:1px solid var(--border-color)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 24px #0000004d!important}.client-menu-paper .MuiMenuItem-root{font-size:.85rem;color:var(--text-primary);padding:8px 16px}.client-menu-paper .MuiMenuItem-root:hover{background:var(--hover-overlay)}.client-menu-paper .MuiMenuItem-root.Mui-selected{background:#00ffff1a;color:var(--accent-primary)}.client-menu-paper .MuiMenuItem-root.Mui-selected:hover{background:#00ffff26}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-scale{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes pulse-dot{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes glow-pulse{0%,to{box-shadow:0 0 10px #4f8fff1a}50%{box-shadow:0 0 25px #4f8fff33,0 0 50px #7c5cfc14}}@keyframes border-glow{0%,to{border-color:#4f8fff26}50%{border-color:#7c5cfc4d}}@keyframes float-orb{0%,to{transform:translate(0) scale(1)}33%{transform:translate(20px,-15px) scale(1.05)}66%{transform:translate(-15px,10px) scale(.95)}}.dashboard-builder-page{height:100vh;display:flex;flex-direction:column;background:#050810;color:#f0f4ff;overflow:hidden;position:relative}.dashboard-builder-page:before{content:"";position:fixed;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(124,92,252,.04) 0%,transparent 70%);pointer-events:none;z-index:0;animation:float-orb 30s ease-in-out infinite}.dashboard-builder-page:after{content:"";position:fixed;bottom:-200px;left:-200px;width:500px;height:500px;background:radial-gradient(circle,rgba(79,143,255,.03) 0%,transparent 70%);pointer-events:none;z-index:0;animation:float-orb 25s ease-in-out infinite reverse}.dashboard-builder-page>*{position:relative;z-index:1}.dashboard-toolbar{display:flex;align-items:center;gap:12px;padding:0 20px;height:52px;background:#080b16cc;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(148,163,184,.06);flex-shrink:0;z-index:10}.dashboard-toolbar .toolbar-back{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;border:1px solid rgba(148,163,184,.1);background:#ffffff05;color:#6b7fa3;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.dashboard-toolbar .toolbar-back:hover{background:#4f8fff14;color:#f0f4ff;border-color:#4f8fff40;transform:translate(-1px)}.dashboard-toolbar .toolbar-title{font-size:15px;font-weight:650;font-family:inherit;color:#f0f4ff;border:none;background:transparent;outline:none;min-width:200px;padding:5px 10px;border-radius:8px;transition:all .2s;letter-spacing:-.01em}.dashboard-toolbar .toolbar-title:hover{background:#ffffff08}.dashboard-toolbar .toolbar-title:focus{background:#4f8fff0f;box-shadow:0 0 0 2px #4f8fff26}.dashboard-toolbar .toolbar-spacer{flex:1}.dashboard-toolbar .mode-toggle{display:flex;background:#0000004d;border:1px solid rgba(148,163,184,.1);border-radius:12px;padding:2px;gap:2px}.dashboard-toolbar .mode-toggle button{padding:5px 16px;font-size:11px;font-weight:650;font-family:inherit;letter-spacing:.04em;text-transform:uppercase;border:none;cursor:pointer;background:transparent;color:#3e4f70;border-radius:9px;transition:all .25s cubic-bezier(.4,0,.2,1)}.dashboard-toolbar .mode-toggle button.active{background:linear-gradient(135deg,#4f8fff,#7c5cfc);color:#fff;box-shadow:0 2px 8px #4f8fff4d,0 0 20px #4f8fff1a}.dashboard-toolbar .mode-toggle button:not(.active):hover{color:#b8c5e0;background:#ffffff0a}.dashboard-toolbar .toolbar-group{display:flex;align-items:center;gap:4px}.dashboard-toolbar .toolbar-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;font-size:11px;font-weight:600;font-family:inherit;border:1px solid rgba(148,163,184,.1);border-radius:8px;background:#ffffff05;color:#b8c5e0;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.dashboard-toolbar .toolbar-btn:hover{background:#4f8fff0f;border-color:#4f8fff33;color:#f0f4ff;transform:translateY(-1px);box-shadow:0 1px 2px #0003,0 1px 3px #0000001a}.dashboard-toolbar .toolbar-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.dashboard-toolbar .toolbar-btn.primary{background:linear-gradient(135deg,#4f8fff,#7c5cfc);color:#fff;border:none;font-weight:700}.dashboard-toolbar .toolbar-btn.primary:hover:not(:disabled){box-shadow:0 4px 16px #4f8fff59,0 0 30px #4f8fff1a;transform:translateY(-1px)}.builder-main{display:flex;flex:1;overflow:hidden}.data-browser{width:260px;min-width:240px;background:#0e1320;border-right:1px solid rgba(148,163,184,.06);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.data-browser .browser-header{padding:14px 16px;border-bottom:1px solid rgba(148,163,184,.06);display:flex;justify-content:space-between;align-items:center}.data-browser .browser-header .header-label{font-size:10px;font-weight:700;color:#3e4f70;text-transform:uppercase;letter-spacing:.1em;display:flex;align-items:center;gap:7px;color:#6b7fa3;font-size:11px}.data-browser .browser-header .header-label svg{opacity:.5}.data-browser .browser-header .loading-dot{width:6px;height:6px;border-radius:50%;background:#4f8fff;animation:pulse-dot 1.5s ease infinite;box-shadow:0 0 8px #4f8fff66}.data-browser .browser-search{padding:10px 12px}.data-browser .browser-search .search-wrapper{position:relative}.data-browser .browser-search .search-wrapper .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#3e4f70;pointer-events:none}.data-browser .browser-search .search-wrapper input{width:100%;font-size:13px;font-family:inherit;border:1px solid rgba(148,163,184,.1);background:#06081099;color:#f0f4ff;outline:none;transition:all .2s cubic-bezier(.4,0,.2,1);padding:10px 14px 10px 34px;font-size:12px;border-radius:12px}.data-browser .browser-search .search-wrapper input::placeholder{color:#3e4f70}.data-browser .browser-search .search-wrapper input:hover{border-color:#94a3b82e;background:#060810cc}.data-browser .browser-search .search-wrapper input:focus{border-color:#4f8fff80;box-shadow:0 0 0 3px #4f8fff1a,0 0 16px #4f8fff0f;background:#060810e6}.data-browser .browser-tables{flex:1;overflow-y:auto}.data-browser .browser-tables::-webkit-scrollbar{width:5px;height:5px}.data-browser .browser-tables::-webkit-scrollbar-track{background:transparent}.data-browser .browser-tables::-webkit-scrollbar-thumb{background:#94a3b81a;border-radius:99px}.data-browser .browser-tables::-webkit-scrollbar-thumb:hover{background:#94a3b833}.data-browser .no-tables{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 20px;color:#3e4f70;font-size:12px}.data-browser .ds-edit-btn{background:none;border:none;color:#3e4f70;cursor:pointer;padding:5px;border-radius:8px;transition:all .2s}.data-browser .ds-edit-btn:hover{color:#4f8fff;background:#4f8fff1a;box-shadow:0 0 10px #4f8fff1a}.data-browser .ds-source-info{padding:8px 16px;display:flex;align-items:center;gap:8px;border-bottom:1px solid rgba(148,163,184,.06);font-size:11px;background:#4f8fff05}.data-browser .ds-source-info .ds-source-table{color:#4f8fff;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 20px rgba(79,143,255,.2)}.data-browser .ds-source-info .ds-source-joins{color:#3e4f70;flex-shrink:0}.data-browser .browser-fields{flex:1;overflow-y:auto}.data-browser .browser-fields::-webkit-scrollbar{width:5px;height:5px}.data-browser .browser-fields::-webkit-scrollbar-track{background:transparent}.data-browser .browser-fields::-webkit-scrollbar-thumb{background:#94a3b81a;border-radius:99px}.data-browser .browser-fields::-webkit-scrollbar-thumb:hover{background:#94a3b833}.data-browser .fields-loading{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 20px;color:#3e4f70;font-size:12px}.data-browser .fields-loading .loading-spinner{width:22px;height:22px;border:2px solid rgba(79,143,255,.15);border-top-color:#4f8fff;border-radius:50%;animation:spin .8s linear infinite;box-shadow:0 0 12px #4f8fff1a}.data-browser .field-section{padding:4px 0}.data-browser .field-section .field-section-label{font-weight:700;color:#3e4f70;text-transform:uppercase;letter-spacing:.1em;padding:10px 16px 6px;display:flex;align-items:center;gap:8px;font-size:10px}.data-browser .field-section .field-section-label .field-count{font-size:9px;color:#3e4f70;font-weight:500;background:#ffffff08;padding:1px 6px;border-radius:8px}.data-browser .field-section .field-list{padding:2px 0}.data-browser .field-section .field-item{display:flex;align-items:center;gap:8px;padding:6px 14px;font-size:12px;color:#b8c5e0;cursor:grab;transition:all .15s cubic-bezier(.4,0,.2,1);border-left:2px solid transparent}.data-browser .field-section .field-item:hover{background:#4f8fff0f;color:#f0f4ff;border-left-color:#4f8fff66}.data-browser .field-section .field-item:active{cursor:grabbing;opacity:.6;transform:scale(.98)}.data-browser .field-section .field-item.dimension .col-badge{background:#4f8fff1f;color:#7eb8ff}.data-browser .field-section .field-item.measure .col-badge{background:#22d3a71f;color:#6ee7b7}.data-browser .field-section .field-item .col-badge{font-size:8px;padding:2px 5px;border-radius:4px;font-weight:800;min-width:30px;text-align:center;letter-spacing:.05em;flex-shrink:0}.data-browser .field-section .field-item .col-badge.metric{background:#22d3a71f;color:#6ee7b7}.data-browser .field-section .field-item .col-badge.dimension{background:#4f8fff1a;color:#7eb8ff}.data-browser .field-section .field-item .col-badge.temporal{background:#fbbf241a;color:#fcd34d}.data-browser .field-section .field-item .field-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize;font-weight:450}.data-browser .field-section .field-item .field-table-tag{font-size:8px;color:#3e4f70;padding:2px 5px;border-radius:4px;background:#94a3b80f;flex-shrink:0;text-transform:uppercase;letter-spacing:.04em;font-weight:650;max-width:52px;overflow:hidden;text-overflow:ellipsis}.data-browser .field-section .field-empty{padding:14px 16px;font-size:11px;color:#3e4f70;font-style:italic}.data-browser .no-data-source-prompt{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px 24px;text-align:center}.data-browser .no-data-source-prompt .prompt-icon{color:#3e4f70;opacity:.4}.data-browser .no-data-source-prompt .prompt-text{font-size:13px;color:#6b7fa3;line-height:1.6;margin:0}.data-browser .no-data-source-prompt .prompt-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,#4f8fff,#7c5cfc);border:none;border-radius:12px;color:#fff;font-size:12px;font-weight:650;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #4f8fff33}.data-browser .no-data-source-prompt .prompt-btn:hover{box-shadow:0 4px 20px #4f8fff59,0 0 30px #4f8fff1a;transform:translateY(-2px)}.data-browser .table-item.expanded>.table-header{color:#f0f4ff;background:#4f8fff0d;border-left-color:#4f8fff66}.data-browser .table-item .table-header{display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:pointer;font-size:12px;font-weight:500;color:#b8c5e0;transition:all .15s;border-left:2px solid transparent}.data-browser .table-item .table-header:hover{background:#ffffff05;color:#f0f4ff}.data-browser .table-item .table-header .chevron{flex-shrink:0;color:#3e4f70;transition:transform .2s ease}.data-browser .table-item .table-header .chevron.open{transform:rotate(90deg)}.data-browser .table-item .table-header .table-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-browser .table-item .table-header .table-badge{font-size:8px;padding:2px 6px;border-radius:4px;font-weight:700;letter-spacing:.05em;flex-shrink:0;background:#ffffff0a;color:#3e4f70}.data-browser .table-item .column-list{padding:2px 0 6px;margin-left:22px;border-left:1px solid rgba(79,143,255,.08)}.data-browser .table-item .column-list .column-item{display:flex;align-items:center;gap:8px;padding:5px 12px 5px 14px;font-size:11.5px;color:#6b7fa3;cursor:grab;transition:all .15s;border-radius:0 8px 8px 0}.data-browser .table-item .column-list .column-item:hover{background:#4f8fff0f;color:#f0f4ff}.data-browser .table-item .column-list .column-item:active{cursor:grabbing;opacity:.6}.data-browser .table-item .column-list .column-item .col-badge{font-size:8px;padding:2px 5px;border-radius:4px;font-weight:800;min-width:30px;text-align:center;letter-spacing:.05em;flex-shrink:0}.data-browser .table-item .column-list .column-item .col-badge.metric{background:#22d3a71f;color:#6ee7b7}.data-browser .table-item .column-list .column-item .col-badge.dimension{background:#4f8fff1a;color:#7eb8ff}.data-browser .table-item .column-list .column-item .col-badge.temporal{background:#fbbf241a;color:#fcd34d}.data-browser .table-item .column-list .column-item .col-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-browser .table-item .column-list .column-item .col-type{font-size:9px;color:#3e4f70;flex-shrink:0}.data-browser .widget-palette{border-top:1px solid rgba(148,163,184,.06);padding:14px;flex-shrink:0;background:#00000026}.data-browser .widget-palette .palette-header{font-weight:700;color:#3e4f70;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;font-size:10px}.data-browser .widget-palette .palette-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.data-browser .widget-palette .palette-grid .palette-item{display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 8px;border:1px solid rgba(148,163,184,.1);border-radius:12px;cursor:grab;font-size:10px;font-weight:600;color:#6b7fa3;background:#ffffff03;transition:all .2s cubic-bezier(.4,0,.2,1)}.data-browser .widget-palette .palette-grid .palette-item .palette-icon{color:#3e4f70;transition:all .2s}.data-browser .widget-palette .palette-grid .palette-item:hover{border-color:#4f8fff59;color:#f0f4ff;background:#4f8fff0d;transform:translateY(-2px);box-shadow:0 6px 20px #00000040,0 0 15px #4f8fff14}.data-browser .widget-palette .palette-grid .palette-item:hover .palette-icon{color:#4f8fff}.data-browser .widget-palette .palette-grid .palette-item:active{transform:translateY(0)}.dashboard-canvas{flex:1;overflow:auto;padding:24px;background:#050810;position:relative;background-image:radial-gradient(circle at 1px 1px,rgba(148,163,184,.06) 1px,transparent 0);background-size:28px 28px}.dashboard-canvas::-webkit-scrollbar{width:5px;height:5px}.dashboard-canvas::-webkit-scrollbar-track{background:transparent}.dashboard-canvas::-webkit-scrollbar-thumb{background:#94a3b81a;border-radius:99px}.dashboard-canvas::-webkit-scrollbar-thumb:hover{background:#94a3b833}.dashboard-canvas .canvas-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;max-width:360px;animation:fade-in-scale .5s cubic-bezier(.4,0,.2,1)}.dashboard-canvas .canvas-empty .empty-visual{margin:0 auto 24px;color:#3e4f70;opacity:.4}.dashboard-canvas .canvas-empty .empty-title{font-size:18px;font-weight:700;color:#b8c5e0;margin-bottom:8px;letter-spacing:-.02em}.dashboard-canvas .canvas-empty .empty-subtitle{font-size:13px;line-height:1.7;color:#6b7fa3}.dashboard-canvas .react-grid-layout{min-height:600px}.dashboard-canvas .react-grid-item{transition:all .2s ease}.dashboard-canvas .react-grid-item.react-grid-placeholder{background:#4f8fff0f!important;border:2px dashed rgba(79,143,255,.3);border-radius:16px;opacity:1;box-shadow:0 0 20px #4f8fff0d}.dashboard-canvas .react-grid-item>.react-resizable-handle:after{border-color:#94a3b81f!important}.widget-wrapper{background:#0c101c;border:1px solid rgba(148,163,184,.06);border-radius:16px;display:flex;flex-direction:column;height:100%;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative}.widget-wrapper:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(135deg,#4f8fff,#7c5cfc);opacity:0;transition:opacity .25s}.widget-wrapper.selected{border-color:#4f8fff59;box-shadow:0 0 0 1px #4f8fff1a,0 8px 32px #0000004d,0 4px 12px #0003,0 0 20px #4f8fff26,0 0 60px #4f8fff0d}.widget-wrapper.selected:before{opacity:1}.widget-wrapper:hover{border-color:#94a3b82e;box-shadow:0 4px 12px #00000040,0 2px 4px #00000026}.widget-wrapper:hover:before{opacity:.5}.widget-wrapper.text-mode{background:transparent;border-color:transparent;border-radius:6px;box-shadow:none}.widget-wrapper.text-mode:before{display:none}.widget-wrapper.text-mode:hover{border-color:#4f8fff26;box-shadow:none}.widget-wrapper.text-mode:hover .text-widget-menu{opacity:1}.widget-wrapper.text-mode.selected{border-color:#4f8fff40;box-shadow:0 0 0 1px #4f8fff14}.widget-wrapper.text-mode .text-widget-menu{position:absolute;top:2px;right:2px;z-index:5;opacity:0;transition:opacity .15s;width:24px;height:24px;border-radius:4px;border:none;background:#0000004d;color:#6b7fa3;cursor:pointer;display:grid;place-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.widget-wrapper.text-mode .text-widget-menu:hover{background:#00000080;color:#f0f4ff}.widget-wrapper .widget-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid rgba(148,163,184,.06);min-height:40px;flex-shrink:0;background:#ffffff03}.widget-wrapper .widget-header .widget-title-group{flex:1;min-width:0;display:flex;align-items:center;gap:8px}.widget-wrapper .widget-header .widget-title{font-size:12.5px;font-weight:650;color:#b8c5e0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.widget-wrapper .widget-header .widget-source-tag{flex-shrink:0;font-size:9.5px;font-weight:500;color:#6b7fa3;background:#94a3b80f;border:1px solid rgba(148,163,184,.08);border-radius:4px;padding:1px 6px;white-space:nowrap;cursor:help;letter-spacing:.01em;max-width:140px;overflow:hidden;text-overflow:ellipsis}.widget-wrapper .widget-header .widget-actions{display:flex;gap:2px;opacity:0;transition:opacity .2s}.widget-wrapper:hover .widget-actions{opacity:1}.widget-wrapper .widget-menu-btn{width:28px;height:28px;border-radius:8px;border:none;background:transparent;color:#6b7fa3;cursor:pointer;display:grid;place-items:center;transition:all .15s}.widget-wrapper .widget-menu-btn:hover{background:#ffffff0d;color:#f0f4ff}.widget-wrapper .widget-body{flex:1;overflow:hidden;position:relative;padding:2px}.widget-wrapper .widget-insight{font-size:11px;color:#6b7fa3;padding:6px 14px 8px;border-top:1px solid rgba(148,163,184,.06);font-style:italic;opacity:.5}.widget-wrapper .text-widget-display p{margin:0}.widget-wrapper .text-widget-display h1,.widget-wrapper .text-widget-display h2,.widget-wrapper .text-widget-display h3,.widget-wrapper .text-widget-display h4{margin:0;line-height:1.2}.widget-wrapper .text-widget-display h1{font-size:1.8em}.widget-wrapper .text-widget-display h2{font-size:1.4em}.widget-wrapper .text-widget-display ul,.widget-wrapper .text-widget-display ol{margin:4px 0;padding-left:1.5em}.widget-wrapper .widget-unconfigured{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#6b7fa3;font-size:12.5px;cursor:pointer;gap:10px;transition:all .2s}.widget-wrapper .widget-unconfigured:before{content:"+";font-size:32px;font-weight:200;opacity:.15;line-height:1;transition:all .2s}.widget-wrapper .widget-unconfigured:hover{color:#4f8fff}.widget-wrapper .widget-unconfigured:hover:before{opacity:.4;text-shadow:0 0 15px rgba(79,143,255,.3)}.widget-wrapper .widget-loading{display:grid;place-items:center;height:100%}.widget-wrapper .widget-loading .spinner{width:26px;height:26px;border:2px solid rgba(79,143,255,.12);border-top-color:#4f8fff;border-radius:50%;animation:spin .7s linear infinite;box-shadow:0 0 12px #4f8fff1a}.widget-wrapper .widget-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;color:#fb4b6e;font-size:11.5px;padding:14px;text-align:center;line-height:1.5}.widget-wrapper .widget-error .widget-error-msg{font-weight:600}.widget-wrapper .widget-error .widget-error-config{display:flex;flex-direction:column;gap:2px;font-size:10px;color:#6b7fa3;background:#94a3b80a;border:1px solid rgba(148,163,184,.06);border-radius:6px;padding:6px 10px;max-width:100%;overflow:hidden;text-align:left}.widget-wrapper .widget-error .widget-error-config span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.widget-wrapper .widget-error button{font-size:11px;font-family:inherit;padding:5px 16px;border:1px solid rgba(251,75,110,.2);border-radius:8px;background:#fb4b6e0f;color:#fb4b6e;cursor:pointer;transition:all .2s}.widget-wrapper .widget-error button:hover{background:#fb4b6e1f;box-shadow:0 0 12px #fb4b6e14}.widget-wrapper .cached-badge{position:absolute;top:8px;right:8px;font-size:9px;padding:3px 8px;border-radius:6px;background:#22d3ee14;color:#22d3ee;font-weight:700;letter-spacing:.03em;border:1px solid rgba(34,211,238,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.kpi-widget{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:20px 14px;gap:4px}.kpi-widget .kpi-value{font-size:36px;font-weight:800;letter-spacing:-.04em;line-height:1.1;background:linear-gradient(135deg,#f0f4ff,#8b9ec7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.kpi-widget .kpi-label{font-size:10.5px;font-weight:600;color:#3e4f70;text-transform:uppercase;letter-spacing:.08em;margin-top:6px}.kpi-widget .kpi-trend{display:inline-flex;align-items:center;gap:4px;margin-top:8px;font-size:11px;font-weight:700;padding:3px 10px;border-radius:6px;background:#ffffff08;border:1px solid rgba(255,255,255,.04)}.table-widget{display:flex;flex-direction:column;height:100%}.table-widget .table-scroll{flex:1;overflow:auto}.table-widget .table-scroll::-webkit-scrollbar{width:5px;height:5px}.table-widget .table-scroll::-webkit-scrollbar-track{background:transparent}.table-widget .table-scroll::-webkit-scrollbar-thumb{background:#94a3b81a;border-radius:99px}.table-widget .table-scroll::-webkit-scrollbar-thumb:hover{background:#94a3b833}.table-widget table{width:100%;border-collapse:collapse;font-size:11.5px}.table-widget thead{position:sticky;top:0;z-index:2}.table-widget thead th{padding:10px 14px;text-align:left;font-weight:700;font-size:10px;color:#6b7fa3;text-transform:uppercase;letter-spacing:.06em;background:#0c101c;border-bottom:1px solid rgba(148,163,184,.1);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s}.table-widget thead th:hover{color:#f0f4ff;background:#4f8fff08}.table-widget thead th.numeric{text-align:right}.table-widget thead th.sorted{color:#4f8fff;text-shadow:0 0 10px rgba(79,143,255,.2)}.table-widget thead th .sort-icon{margin-left:4px;vertical-align:middle;opacity:.7}.table-widget tbody tr{transition:background .1s}.table-widget tbody tr:hover td{background:#4f8fff08}.table-widget tbody td{padding:8px 14px;border-bottom:1px solid rgba(148,163,184,.06);white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis;color:#b8c5e0;font-variant-numeric:tabular-nums}.table-widget tbody td.numeric{text-align:right;font-family:SF Mono,Cascadia Code,Fira Code,monospace;font-size:11px}.table-widget .table-footer{display:flex;align-items:center;justify-content:space-between;padding:6px 14px;font-size:10px;color:#3e4f70;border-top:1px solid rgba(148,163,184,.06);background:#0003;flex-shrink:0}.table-widget .table-footer .exec-time{font-family:SF Mono,monospace;font-size:9px;color:#3e4f70;opacity:.6}.config-panel{width:300px;min-width:260px;background:#0e1320;border-left:1px solid rgba(148,163,184,.06);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.config-panel .config-header{padding:12px 16px;border-bottom:1px solid rgba(148,163,184,.06);display:flex;align-items:center;gap:8px;flex-shrink:0}.config-panel .config-header .config-widget-type{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#4f8fff;background:#4f8fff14;padding:2px 8px;border-radius:4px;flex-shrink:0}.config-panel .config-header .config-widget-title{font-size:12px;font-weight:650;color:#b8c5e0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-panel .config-body{flex:1;overflow-y:auto;padding:16px}.config-panel .config-body::-webkit-scrollbar{width:5px;height:5px}.config-panel .config-body::-webkit-scrollbar-track{background:transparent}.config-panel .config-body::-webkit-scrollbar-thumb{background:#94a3b81a;border-radius:99px}.config-panel .config-body::-webkit-scrollbar-thumb:hover{background:#94a3b833}.config-panel .config-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#3e4f70;font-size:13px;text-align:center;padding:28px;line-height:1.6}.config-panel .config-section{margin-bottom:20px}.config-panel .config-section .section-label{font-size:10px;font-weight:700;color:#3e4f70;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}.config-panel .config-field{margin-bottom:12px}.config-panel .config-field>label{display:block;font-size:11px;color:#6b7fa3;margin-bottom:5px;font-weight:600}.config-panel .config-field select,.config-panel .config-field input[type=text],.config-panel .config-field input[type=number],.config-panel .config-field input:not([type]){width:100%;padding:10px 14px;font-size:13px;font-family:inherit;border:1px solid rgba(148,163,184,.1);border-radius:12px;background:#06081099;color:#f0f4ff;outline:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.config-panel .config-field select::placeholder,.config-panel .config-field input[type=text]::placeholder,.config-panel .config-field input[type=number]::placeholder,.config-panel .config-field input:not([type])::placeholder{color:#3e4f70}.config-panel .config-field select:hover,.config-panel .config-field input[type=text]:hover,.config-panel .config-field input[type=number]:hover,.config-panel .config-field input:not([type]):hover{border-color:#94a3b82e;background:#060810cc}.config-panel .config-field select:focus,.config-panel .config-field input[type=text]:focus,.config-panel .config-field input[type=number]:focus,.config-panel .config-field input:not([type]):focus{border-color:#4f8fff80;box-shadow:0 0 0 3px #4f8fff1a,0 0 16px #4f8fff0f;background:#060810e6}.config-panel .config-field select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236b7fa3' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:30px}.config-panel .config-field input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border:1.5px solid rgba(148,163,184,.18);border-radius:4px;background:#0000004d;cursor:pointer;position:relative;flex-shrink:0;transition:all .15s}.config-panel .config-field input[type=checkbox]:checked{background:linear-gradient(135deg,#4f8fff,#7c5cfc);border-color:#4f8fff;box-shadow:0 0 8px #4f8fff33}.config-panel .config-field input[type=checkbox]:checked:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.config-panel .config-field input[type=checkbox]:hover:not(:checked){border-color:#6b7fa3;background:#ffffff08}.config-panel .column-select-list{border:1px solid rgba(148,163,184,.1);border-radius:12px;max-height:130px;overflow-y:auto;background:#00000026}.config-panel .column-select-list::-webkit-scrollbar{width:5px;height:5px}.config-panel .column-select-list::-webkit-scrollbar-track{background:transparent}.config-panel .column-select-list::-webkit-scrollbar-thumb{background:#94a3b81a;border-radius:99px}.config-panel .column-select-list::-webkit-scrollbar-thumb:hover{background:#94a3b833}.config-panel .column-select-list .column-select-empty{padding:10px 12px;font-size:11px;color:#3e4f70}.config-panel .column-select-list .column-select-item{display:flex;align-items:center;gap:8px;padding:5px 10px;cursor:pointer;font-size:11.5px;color:#b8c5e0;transition:all .12s}.config-panel .column-select-list .column-select-item:hover{background:#4f8fff0d}.config-panel .column-select-list .column-select-item .col-badge{font-size:8px;padding:2px 5px;border-radius:4px;font-weight:800;min-width:30px;text-align:center;flex-shrink:0}.config-panel .column-select-list .column-select-item .col-badge.metric{background:#22d3a71f;color:#6ee7b7}.config-panel .column-select-list .column-select-item .col-badge.dimension{background:#4f8fff1a;color:#7eb8ff}.config-panel .column-select-list .column-select-item .col-badge.temporal{background:#fbbf241a;color:#fcd34d}.config-panel .column-select-list .column-select-item .col-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-panel .active-pills{display:flex;flex-direction:column;gap:4px}.config-panel .metric-pill,.config-panel .dimension-pill{display:flex;align-items:center;gap:4px;padding:4px 6px;border-radius:6px;font-size:11px;background:#22d3a70f;border:1px solid rgba(34,211,167,.12);transition:all .15s}.config-panel .metric-pill .pill-agg,.config-panel .dimension-pill .pill-agg{font-size:9px;font-weight:700;font-family:inherit;padding:1px 4px;border:1px solid rgba(34,211,167,.15);border-radius:3px;background:#0003;color:#22d3a7;cursor:pointer;outline:none;flex-shrink:0}.config-panel .metric-pill .pill-col,.config-panel .dimension-pill .pill-col{flex:1;font-weight:600;color:#b8c5e0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize}.config-panel .metric-pill .pill-remove,.config-panel .dimension-pill .pill-remove{background:none;border:none;color:#6b7fa3;cursor:pointer;font-size:14px;line-height:1;padding:0 2px;opacity:.4;flex-shrink:0;transition:all .15s}.config-panel .metric-pill .pill-remove:hover,.config-panel .dimension-pill .pill-remove:hover{color:#fb4b6e;opacity:1}.config-panel .dimension-pill{background:#4f8fff0f;border-color:#4f8fff1f}.config-panel .chart-type-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.config-panel .chart-type-grid.expanded{grid-template-columns:repeat(4,1fr);gap:4px}.config-panel .chart-type-grid .chart-type-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px 5px;border:1px solid rgba(148,163,184,.1);border-radius:8px;background:#ffffff03;color:#6b7fa3;cursor:pointer;font-family:inherit;transition:all .2s cubic-bezier(.4,0,.2,1)}.config-panel .chart-type-grid .chart-type-btn .chart-icon{font-size:14px;font-weight:700;line-height:1;opacity:.5}.config-panel .chart-type-grid .chart-type-btn .chart-label{font-size:8px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.config-panel .chart-type-grid .chart-type-btn.active{border-color:#4f8fff66;color:#4f8fff;background:#4f8fff14;box-shadow:0 0 12px #4f8fff14}.config-panel .chart-type-grid .chart-type-btn.active .chart-icon{opacity:1}.config-panel .chart-type-grid .chart-type-btn:hover:not(.active){border-color:#94a3b82e;color:#b8c5e0;background:#ffffff08}.ai-prompt-bar{display:flex;align-items:center;gap:10px;padding:10px 20px;background:#080b16cc;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgba(148,163,184,.06);flex-shrink:0;z-index:10}.ai-prompt-bar input{flex:1;width:100%;font-family:inherit;border:1px solid rgba(148,163,184,.1);background:#06081099;color:#f0f4ff;outline:none;transition:all .2s cubic-bezier(.4,0,.2,1);border-radius:16px;padding:11px 18px;font-size:13px}.ai-prompt-bar input::placeholder{color:#3e4f70}.ai-prompt-bar input:hover{border-color:#94a3b82e;background:#060810cc}.ai-prompt-bar input:focus{border-color:#4f8fff80;box-shadow:0 0 0 3px #4f8fff1a,0 0 16px #4f8fff0f;background:#060810e6}.ai-prompt-bar input:focus{border-color:#7c5cfc66;box-shadow:0 0 0 3px #7c5cfc14,0 0 20px #7c5cfc0f}.ai-prompt-bar button{padding:11px 22px;font-size:12.5px;font-weight:700;font-family:inherit;letter-spacing:.01em;border:none;border-radius:16px;background:linear-gradient(135deg,#7c5cfc,#a855f7);color:#fff;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);white-space:nowrap}.ai-prompt-bar button:hover:not(:disabled){box-shadow:0 4px 20px #7c5cfc59,0 0 40px #a855f71a;transform:translateY(-1px)}.ai-prompt-bar button:disabled{opacity:.3;cursor:not-allowed;transform:none}.filter-bar{display:flex;align-items:center;gap:8px;padding:6px 16px;background:#080b1699;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(148,163,184,.06);font-size:12px;flex-shrink:0;flex-wrap:wrap;min-height:38px;position:relative;z-index:20}.filter-bar+.filter-bar{background:#080b1666;padding-left:24px;min-height:34px}.filter-bar .filter-label{font-weight:700;color:#3e4f70;text-transform:uppercase;letter-spacing:.1em;font-size:10px;margin-right:4px}.filter-bar .filter-spacer{flex:1}.filter-bar input[type=date]{padding:4px 8px;font-size:11px;font-family:inherit;border:1px solid rgba(148,163,184,.1);border-radius:8px;background:#0000004d;color:#f0f4ff;outline:none;transition:all .15s;max-width:130px}.filter-bar input[type=date]:focus{border-color:#4f8fff66;box-shadow:0 0 8px #4f8fff14}.filter-bar .filter-chip{display:flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;border:1px solid rgba(148,163,184,.1);background:#0003}.filter-bar .filter-chip .chip-label{font-size:10px;font-weight:650;color:#b8c5e0;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.filter-bar .filter-chip .chip-sep{color:#6b7fa3;font-size:10px}.filter-bar .filter-chip .chip-operator{padding:2px 4px;font-size:10px;font-family:inherit;border:1px solid rgba(148,163,184,.06);border-radius:4px;background:#0000004d;color:#f0f4ff;outline:none;cursor:pointer}.filter-bar .filter-chip .chip-value{padding:3px 6px;font-size:11px;font-family:inherit;border:1px solid rgba(148,163,184,.06);border-radius:4px;background:#0000004d;color:#f0f4ff;outline:none;min-width:60px;max-width:140px}.filter-bar .filter-chip .chip-value:focus{border-color:#4f8fff66}.filter-bar .filter-chip .chip-value::placeholder{color:#6b7fa3;font-size:10px}.filter-bar .filter-chip .chip-remove{background:none;border:none;color:#6b7fa3;cursor:pointer;font-size:14px;line-height:1;padding:0 2px;opacity:.5;transition:all .15s}.filter-bar .filter-chip .chip-remove:hover{color:#fb4b6e;opacity:1}.filter-bar .column-filter .chip-label{color:#4f8fff}.filter-bar .filter-add-wrapper{position:relative}.filter-bar .filter-add-btn{padding:3px 10px;font-size:11px;font-family:inherit;font-weight:600;border:1px dashed rgba(148,163,184,.1);border-radius:6px;background:none;color:#b8c5e0;cursor:pointer;transition:all .15s;white-space:nowrap}.filter-bar .filter-add-btn:hover{border-color:#4f8fff66;color:#4f8fff;background:#4f8fff0a}.filter-bar .filter-dropdown-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.filter-bar .filter-dropdown{position:absolute;top:100%;left:0;margin-top:4px;background:#0e1320;border:1px solid rgba(148,163,184,.1);border-radius:10px;box-shadow:0 12px 40px #0006;z-index:100;max-height:280px;overflow-y:auto;min-width:220px;padding:4px}.filter-bar .filter-dropdown .filter-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;font-size:11.5px;font-family:inherit;border:none;border-radius:6px;background:none;color:#f0f4ff;cursor:pointer;text-align:left;transition:background .1s}.filter-bar .filter-dropdown .filter-dropdown-item:hover{background:#4f8fff0f}.filter-bar .filter-dropdown .filter-dropdown-item .filter-col-badge{font-size:8.5px;font-weight:700;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.filter-bar .filter-dropdown .filter-dropdown-item .filter-col-badge.metric{background:#22d3a71a;color:#22d3a7}.filter-bar .filter-dropdown .filter-dropdown-item .filter-col-badge.temporal{background:#4f8fff1a;color:#4f8fff}.filter-bar .filter-dropdown .filter-dropdown-item .filter-col-badge.dimension{background:#a855f71a;color:#a855f7}.filter-bar .filter-clear{background:none;border:none;color:#fb4b6e;cursor:pointer;font-size:11px;font-family:inherit;font-weight:600;opacity:.6;transition:opacity .15s;white-space:nowrap}.filter-bar .filter-clear:hover{opacity:1}.filter-bar .column-filter{position:relative}.filter-bar .column-filter.expanded{z-index:101}.filter-bar .chip-value-btn{display:flex;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-family:inherit;border:1px solid rgba(148,163,184,.06);border-radius:4px;background:#0000004d;color:#f0f4ff;cursor:pointer;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:all .15s}.filter-bar .chip-value-btn:hover{border-color:#4f8fff4d;background:#4f8fff0a}.filter-bar .chip-value-btn svg{flex-shrink:0;opacity:.5}.filter-bar .chip-numeric-range{display:flex;align-items:center;gap:4px}.filter-bar .chip-numeric-range .chip-value{width:80px}.filter-bar .filter-value-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:220px;max-width:300px;background:#0e1320;border:1px solid rgba(148,163,184,.1);border-radius:10px;box-shadow:0 12px 40px #00000073;z-index:100;overflow:hidden}.filter-bar .value-multi-select{display:flex;flex-direction:column;max-height:300px}.filter-bar .value-search{padding:8px 12px;font-size:12px;font-family:inherit;border:none;border-bottom:1px solid rgba(148,163,184,.06);background:#0003;color:#f0f4ff;outline:none;width:100%}.filter-bar .value-search::placeholder{color:#6b7fa3}.filter-bar .value-search:focus{background:#0000004d}.filter-bar .value-list{overflow-y:auto;max-height:240px;padding:4px}.filter-bar .value-option{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:6px;font-size:11.5px;color:#f0f4ff;cursor:pointer;transition:background .1s}.filter-bar .value-option:hover{background:#4f8fff0f}.filter-bar .value-option.checked{background:#4f8fff14}.filter-bar .value-option input[type=checkbox]{width:14px;height:14px;accent-color:#4f8fff;flex-shrink:0}.filter-bar .value-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-bar .value-summary{padding:6px 12px;font-size:10px;font-weight:600;color:#4f8fff;border-top:1px solid rgba(148,163,184,.06);background:#4f8fff08}.filter-bar .dropdown-loading,.filter-bar .dropdown-empty{padding:16px;font-size:12px;color:#6b7fa3;text-align:center}.extract-status{display:flex;align-items:center;gap:12px;padding:8px 20px;background:#22d3ee08;border-bottom:1px solid rgba(34,211,238,.06);font-size:12px;color:#b8c5e0;flex-shrink:0}.extract-status .extract-label{font-weight:700;color:#22d3ee;font-size:11px;text-shadow:0 0 10px rgba(34,211,238,.2)}.extract-status .extract-actions{margin-left:auto;display:flex;gap:8px}.extract-status .extract-actions button{padding:4px 12px;font-size:11px;font-family:inherit;border:1px solid rgba(34,211,238,.15);border-radius:8px;background:#22d3ee0a;color:#22d3ee;cursor:pointer;transition:all .2s}.extract-status .extract-actions button:hover{background:#22d3ee1a;box-shadow:0 0 10px #22d3ee0f}.extract-status .extract-actions select{padding:4px 10px;font-size:11px;font-family:inherit;border:1px solid rgba(148,163,184,.1);border-radius:8px;background:#0000004d;color:#f0f4ff}.dashboard-list-page{height:100%;color:#f0f4ff;overflow-y:auto;padding:40px 48px;position:relative}.dashboard-list-page::-webkit-scrollbar{width:5px;height:5px}.dashboard-list-page::-webkit-scrollbar-track{background:transparent}.dashboard-list-page::-webkit-scrollbar-thumb{background:#94a3b81a;border-radius:99px}.dashboard-list-page::-webkit-scrollbar-thumb:hover{background:#94a3b833}.dashboard-list-page:before{content:"";position:fixed;top:-150px;right:-100px;width:500px;height:500px;background:radial-gradient(circle,rgba(124,92,252,.05) 0%,transparent 65%);pointer-events:none;z-index:0;animation:float-orb 25s ease-in-out infinite}.dashboard-list-page>*{position:relative;z-index:1}.dashboard-list-page .list-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:40px;animation:fade-in .4s ease}.dashboard-list-page .list-header .header-left h1{font-size:32px;font-weight:800;letter-spacing:-.04em;color:#f0f4ff;line-height:1.15;background:linear-gradient(135deg,#f0f4ff,#b8c5e0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dashboard-list-page .list-header .header-left .header-subtitle{font-size:14px;color:#6b7fa3;margin-top:6px;font-weight:400}.dashboard-list-page .btn-create{display:inline-flex;align-items:center;gap:8px;padding:11px 24px;font-size:13px;font-weight:700;font-family:inherit;border:none;border-radius:12px;background:linear-gradient(135deg,#4f8fff,#7c5cfc);color:#fff;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);white-space:nowrap;box-shadow:0 2px 8px #4f8fff33}.dashboard-list-page .btn-create:hover{box-shadow:0 6px 24px #4f8fff59,0 0 40px #4f8fff1a;transform:translateY(-2px)}.dashboard-list-page .btn-create:active{transform:translateY(0)}.dashboard-list-page .list-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px 0;gap:14px;color:#6b7fa3;font-size:13px}.dashboard-list-page .list-loading .loading-spinner{width:30px;height:30px;border:2px solid rgba(79,143,255,.12);border-top-color:#4f8fff;border-radius:50%;animation:spin .8s linear infinite;box-shadow:0 0 16px #4f8fff1a}.dashboard-list-page .empty-state{text-align:center;padding:100px 0 80px;max-width:400px;margin:0 auto;animation:fade-in-scale .6s cubic-bezier(.4,0,.2,1)}.dashboard-list-page .empty-state .empty-visual{margin-bottom:32px}.dashboard-list-page .empty-state .empty-visual .empty-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;max-width:220px;margin:0 auto}.dashboard-list-page .empty-state .empty-visual .empty-grid .grid-cell{border-radius:12px;border:1.5px solid rgba(148,163,184,.1);background:#ffffff03;transition:all .3s}.dashboard-list-page .empty-state .empty-visual .empty-grid .grid-cell.c1{height:52px;grid-column:span 2;border-color:#4f8fff26;background:#4f8fff05}.dashboard-list-page .empty-state .empty-visual .empty-grid .grid-cell.c2{height:52px;border-color:#7c5cfc1f;background:#7c5cfc05}.dashboard-list-page .empty-state .empty-visual .empty-grid .grid-cell.c3{height:40px;border-color:#22d3a71f;background:#22d3a705}.dashboard-list-page .empty-state .empty-visual .empty-grid .grid-cell.c4{height:40px;grid-column:span 2;border-color:#fbbf241a;background:#fbbf2403}.dashboard-list-page .empty-state .empty-visual .empty-grid .grid-cell.c5{height:30px;grid-column:span 3;border-color:#94a3b80f}.dashboard-list-page .empty-state .empty-visual .empty-grid .grid-cell.c6{display:none}.dashboard-list-page .empty-state h3{font-size:20px;font-weight:700;margin-bottom:10px;color:#b8c5e0;letter-spacing:-.02em}.dashboard-list-page .empty-state p{font-size:14px;color:#6b7fa3;line-height:1.7;margin-bottom:28px}.dashboard-list-page .list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:18px;animation:fade-in .4s ease}.dashboard-list-page .dashboard-card{background:#0c101c;border:1px solid rgba(148,163,184,.06);border-radius:20px;padding:22px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.dashboard-list-page .dashboard-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(135deg,#4f8fff,#7c5cfc);opacity:0;transition:opacity .3s}.dashboard-list-page .dashboard-card:hover{border-color:#4f8fff26;box-shadow:0 8px 32px #0000004d,0 4px 12px #0003,0 0 20px #4f8fff26,0 0 60px #4f8fff0d;transform:translateY(-3px)}.dashboard-list-page .dashboard-card:hover:before{opacity:1}.dashboard-list-page .dashboard-card .card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.dashboard-list-page .dashboard-card .card-top .card-icon{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#4f8fff,#7c5cfc);display:grid;place-items:center;color:#fff;box-shadow:0 2px 8px #4f8fff33}.dashboard-list-page .dashboard-card .card-top .card-actions{display:flex;gap:2px;opacity:0;transition:opacity .2s}.dashboard-list-page .dashboard-card .card-top .card-actions button{width:30px;height:30px;border-radius:8px;border:none;background:transparent;color:#6b7fa3;cursor:pointer;display:grid;place-items:center;transition:all .15s}.dashboard-list-page .dashboard-card .card-top .card-actions button:hover{background:#ffffff0d;color:#f0f4ff}.dashboard-list-page .dashboard-card .card-top .card-actions button.delete-btn:hover{background:#fb4b6e14;color:#fb4b6e}.dashboard-list-page .dashboard-card:hover .card-actions{opacity:1}.dashboard-list-page .dashboard-card .card-title{font-size:16px;font-weight:700;margin-bottom:5px;color:#f0f4ff;letter-spacing:-.01em}.dashboard-list-page .dashboard-card .card-desc{font-size:13px;color:#6b7fa3;margin-bottom:16px;line-height:1.5}.dashboard-list-page .dashboard-card .card-footer{display:flex;align-items:center;gap:12px;font-size:11px;color:#3e4f70;padding-top:14px;border-top:1px solid rgba(148,163,184,.06)}.dashboard-list-page .dashboard-card .card-footer .widget-count{font-weight:600;color:#6b7fa3}.dashboard-list-page .dashboard-card .card-footer .mode-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:6px;font-weight:700;text-transform:uppercase;font-size:9px;letter-spacing:.06em}.dashboard-list-page .dashboard-card .card-footer .mode-badge .mode-dot{width:5px;height:5px;border-radius:50%}.dashboard-list-page .dashboard-card .card-footer .mode-badge.live{background:#22d3a714;color:#6ee7b7}.dashboard-list-page .dashboard-card .card-footer .mode-badge.live .mode-dot{background:#22d3a7;box-shadow:0 0 6px #22d3a766}.dashboard-list-page .dashboard-card .card-footer .mode-badge.extract{background:#22d3ee14;color:#67e8f9}.dashboard-list-page .dashboard-card .card-footer .mode-badge.extract .mode-dot{background:#22d3ee;box-shadow:0 0 6px #22d3ee66}.dashboard-list-page .dashboard-card .card-footer .card-date{margin-left:auto}.dashboard-list-page .dashboard-card.create-card{border-style:dashed;border-color:#94a3b81a;background:transparent;display:grid;place-items:center;min-height:180px}.dashboard-list-page .dashboard-card.create-card:hover{border-color:#4f8fff59;background:#4f8fff05;box-shadow:0 0 20px #4f8fff26,0 0 60px #4f8fff0d}.dashboard-list-page .dashboard-card.create-card .create-inner{display:flex;flex-direction:column;align-items:center;gap:10px;color:#6b7fa3;font-size:13px;font-weight:600;transition:color .2s}.dashboard-list-page .dashboard-card.create-card:hover .create-inner{color:#4f8fff}.dashboard-list-page .dlg-btn{padding:9px 20px;font-size:13px;font-weight:650;font-family:inherit;border-radius:12px;cursor:pointer;transition:all .2s}.dashboard-list-page .dlg-btn.cancel{background:transparent;border:1px solid rgba(148,163,184,.1);color:#b8c5e0}.dashboard-list-page .dlg-btn.cancel:hover{background:#ffffff08;border-color:#94a3b82e}.dashboard-list-page .dlg-btn.primary{background:linear-gradient(135deg,#4f8fff,#7c5cfc);border:none;color:#fff}.dashboard-list-page .dlg-btn.primary:hover:not(:disabled){box-shadow:0 4px 16px #4f8fff59}.dashboard-list-page .dlg-btn.primary:disabled{opacity:.3;cursor:not-allowed}.connection-setup .conn-field{margin-bottom:14px}.connection-setup .conn-field label{display:block;font-size:12px;font-weight:600;color:#b8c5e0;margin-bottom:5px}.connection-setup .conn-field input{width:100%;padding:10px 14px;font-size:13px;font-family:inherit;border:1px solid rgba(148,163,184,.1);border-radius:12px;background:#06081099;color:#f0f4ff;outline:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.connection-setup .conn-field input::placeholder{color:#3e4f70}.connection-setup .conn-field input:hover{border-color:#94a3b82e;background:#060810cc}.connection-setup .conn-field input:focus{border-color:#4f8fff80;box-shadow:0 0 0 3px #4f8fff1a,0 0 16px #4f8fff0f;background:#060810e6}.connection-setup .conn-result{padding:12px 14px;border-radius:12px;font-size:12px;margin-top:10px}.connection-setup .conn-result.success{background:#22d3a70f;color:#6ee7b7;border:1px solid rgba(34,211,167,.12)}.connection-setup .conn-result.error{background:#fb4b6e0f;color:#fb4b6e;border:1px solid rgba(251,75,110,.1)}.template-gallery .template-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding:16px}.template-gallery .template-card{background:#0c101c;border:1px solid rgba(148,163,184,.06);border-radius:20px;padding:20px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1)}.template-gallery .template-card:hover{border-color:#7c5cfc33;box-shadow:0 8px 32px #0000004d,0 4px 12px #0003,0 0 20px #7c5cfc26,0 0 60px #7c5cfc0d;transform:translateY(-3px)}.template-gallery .template-card .tmpl-name{font-size:15px;font-weight:700;margin-bottom:5px;letter-spacing:-.01em}.template-gallery .template-card .tmpl-desc{font-size:12.5px;color:#6b7fa3;line-height:1.5}.template-gallery .template-card .tmpl-category{display:inline-block;margin-top:10px;font-size:9px;padding:3px 8px;border-radius:5px;background:#7c5cfc14;color:#a5b4fc;text-transform:uppercase;font-weight:700;letter-spacing:.06em}.builder-tab-bar{display:flex;gap:0;padding:0 20px;background:#080b1699;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(148,163,184,.06);flex-shrink:0}.builder-tab-bar .builder-tab{display:flex;align-items:center;gap:8px;padding:10px 20px;font-size:12.5px;font-weight:650;font-family:inherit;color:#3e4f70;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .2s;position:relative}.builder-tab-bar .builder-tab:hover{color:#b8c5e0}.builder-tab-bar .builder-tab.active{color:#4f8fff;border-bottom-color:#4f8fff;text-shadow:0 0 15px rgba(79,143,255,.2)}.builder-tab-bar .builder-tab svg{opacity:.5}.builder-tab-bar .builder-tab.active svg{opacity:1}.builder-data-source-view{flex:1;overflow-y:auto;background:#050810;position:relative}.builder-data-source-view::-webkit-scrollbar{width:5px;height:5px}.builder-data-source-view::-webkit-scrollbar-track{background:transparent}.builder-data-source-view::-webkit-scrollbar-thumb{background:#94a3b81a;border-radius:99px}.builder-data-source-view::-webkit-scrollbar-thumb:hover{background:#94a3b833}.builder-data-source-view:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:800px;height:400px;background:radial-gradient(ellipse,rgba(79,143,255,.02) 0%,transparent 70%);pointer-events:none}.data-source-tab{max-width:780px;margin:0 auto;padding:32px 36px 56px;display:flex;flex-direction:column;gap:20px;position:relative}.data-source-tab .ds-hero{display:flex;align-items:flex-start;gap:18px;padding:24px 0 16px}.data-source-tab .ds-hero .ds-hero-icon{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#4f8fff,#7c5cfc);display:grid;place-items:center;color:#fff;flex-shrink:0;box-shadow:0 4px 16px #4f8fff40,0 0 30px #4f8fff14}.data-source-tab .ds-hero h2{font-size:22px;font-weight:800;color:#f0f4ff;margin:0 0 5px;letter-spacing:-.03em}.data-source-tab .ds-hero p{font-size:13.5px;color:#6b7fa3;line-height:1.6;margin:0}.data-source-tab .ds-card{background:#0c101c;border:1px solid rgba(148,163,184,.06);border-radius:20px;overflow:hidden;transition:all .25s}.data-source-tab .ds-card:hover{border-color:#94a3b81a;box-shadow:0 1px 2px #0003,0 1px 3px #0000001a}.data-source-tab .ds-card .ds-card-header{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid rgba(148,163,184,.06);background:#ffffff03}.data-source-tab .ds-card .ds-card-num{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#4f8fff,#7c5cfc);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;flex-shrink:0;box-shadow:0 2px 6px #4f8fff33}.data-source-tab .ds-card .ds-card-title{font-size:13.5px;font-weight:700;color:#b8c5e0;flex:1}.data-source-tab .ds-card .ds-card-status{font-size:10px;font-weight:700;padding:3px 10px;border-radius:6px;letter-spacing:.04em;text-transform:uppercase}.data-source-tab .ds-card .ds-card-status.active{background:#22d3a71a;color:#6ee7b7;box-shadow:0 0 8px #22d3a714}.data-source-tab .ds-card .ds-card-badge{font-size:10px;font-weight:650;color:#6b7fa3;padding:3px 10px;border-radius:6px;background:#ffffff0a}.data-source-tab .ds-card .ds-card-body{padding:18px 20px}.data-source-tab .ds-table-search{width:100%;font-family:inherit;border:1px solid rgba(148,163,184,.1);border-radius:12px;background:#06081099;color:#f0f4ff;outline:none;transition:all .2s cubic-bezier(.4,0,.2,1);margin-bottom:10px;font-size:13px;padding:9px 14px}.data-source-tab .ds-table-search::placeholder{color:#3e4f70}.data-source-tab .ds-table-search:hover{border-color:#94a3b82e;background:#060810cc}.data-source-tab .ds-table-search:focus{border-color:#4f8fff80;box-shadow:0 0 0 3px #4f8fff1a,0 0 16px #4f8fff0f;background:#060810e6}.data-source-tab .ds-select{padding:10px 14px;font-size:13px;font-family:inherit;border:1px solid rgba(148,163,184,.1);border-radius:12px;background:#06081099;color:#f0f4ff;outline:none;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%;font-size:12.5px;cursor:pointer}.data-source-tab .ds-select::placeholder{color:#3e4f70}.data-source-tab .ds-select:hover{border-color:#94a3b82e;background:#060810cc}.data-source-tab .ds-select:focus{border-color:#4f8fff80;box-shadow:0 0 0 3px #4f8fff1a,0 0 16px #4f8fff0f;background:#060810e6}.data-source-tab .ds-select option{padding:8px 10px;font-size:12.5px}.data-source-tab .ds-table-count{font-size:10.5px;color:#3e4f70;margin-top:8px}.data-source-tab .ds-add-join{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:9px 20px;font-size:12.5px;font-weight:650;font-family:inherit;border:1px dashed rgba(79,143,255,.25);border-radius:12px;background:#4f8fff08;color:#4f8fff;cursor:pointer;transition:all .2s}.data-source-tab .ds-add-join:hover{border-color:#4f8fff80;background:#4f8fff0f;box-shadow:0 0 15px #4f8fff0f}.data-source-tab .ds-model-visual{display:flex;align-items:center;gap:0;flex-wrap:wrap;padding:6px 0}.data-source-tab .ds-model-node{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#ffffff05;border:1px solid rgba(148,163,184,.1);border-radius:12px;font-size:12px;font-weight:600;color:#b8c5e0;transition:all .2s}.data-source-tab .ds-model-node.primary{border-color:#4f8fff4d;background:#4f8fff0a;box-shadow:0 0 12px #4f8fff0a}.data-source-tab .ds-model-node svg{color:#3e4f70}.data-source-tab .ds-model-node .node-name{font-family:SF Mono,Cascadia Code,monospace;font-size:11.5px}.data-source-tab .ds-model-node .node-badge{font-size:8px;font-weight:800;padding:2px 7px;border-radius:4px;background:linear-gradient(135deg,#4f8fff,#7c5cfc);color:#fff;text-transform:uppercase;letter-spacing:.06em}.data-source-tab .ds-model-connector{color:#3e4f70;padding:0 6px}.data-source-tab .ds-preview-btn{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;font-size:12px;font-weight:650;font-family:inherit;border:1px solid rgba(148,163,184,.1);border-radius:8px;background:#ffffff05;color:#b8c5e0;cursor:pointer;transition:all .2s}.data-source-tab .ds-preview-btn:hover:not(:disabled){background:#4f8fff0f;border-color:#4f8fff33;color:#4f8fff}.data-source-tab .ds-preview-btn:disabled{opacity:.35;cursor:not-allowed}.data-source-tab .ds-preview-btn .btn-spinner{width:11px;height:11px;border:1.5px solid rgba(79,143,255,.15);border-top-color:#4f8fff;border-radius:50%;animation:spin .7s linear infinite}.data-source-tab .ds-preview-error{padding:12px 16px;border-radius:12px;background:#fb4b6e0a;border:1px solid rgba(251,75,110,.1);color:#fb4b6e;font-size:12px;line-height:1.6;margin-bottom:10px}.data-source-tab .ds-preview-empty{padding:24px;text-align:center;color:#3e4f70;font-size:12.5px}.join-list{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.join-list .join-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#ffffff05;border:1px solid rgba(148,163,184,.06);border-radius:12px;font-size:12px;transition:all .15s}.join-list .join-item:hover{border-color:#94a3b81a;background:#ffffff08}.join-list .join-item .join-type-badge{padding:3px 8px;border-radius:5px;font-size:9px;font-weight:800;letter-spacing:.06em;background:#7c5cfc1a;color:#a5b4fc;flex-shrink:0}.join-list .join-item .join-desc{flex:1;display:flex;align-items:center;gap:4px;font-size:11.5px;color:#b8c5e0}.join-list .join-item .join-desc .join-table{font-family:SF Mono,Cascadia Code,monospace;font-weight:650;color:#4f8fff;font-size:10.5px}.join-list .join-item .join-desc .join-dot{font-family:SF Mono,monospace;color:#6b7fa3;font-size:10.5px}.join-list .join-item .join-desc .join-eq{color:#3e4f70;padding:0 3px;font-weight:800}.join-list .join-item .join-remove{width:26px;height:26px;border-radius:8px;border:none;background:transparent;color:#3e4f70;cursor:pointer;display:grid;place-items:center;transition:all .15s}.join-list .join-item .join-remove:hover{background:#fb4b6e14;color:#fb4b6e}.join-builder{padding:18px;background:#ffffff05;border:1px solid rgba(148,163,184,.1);border-radius:16px;margin-top:10px}.join-builder .join-row{display:flex;gap:12px;margin-bottom:12px}.join-builder .join-row.join-on-row{align-items:flex-end}.join-builder .join-field{flex:1}.join-builder .join-field label{display:block;font-size:10px;color:#6b7fa3;margin-bottom:5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.join-builder .join-field select{width:100%;padding:10px 14px;font-size:13px;font-family:inherit;border:1px solid rgba(148,163,184,.1);border-radius:12px;background:#06081099;color:#f0f4ff;outline:none;transition:all .2s cubic-bezier(.4,0,.2,1);font-size:12.5px}.join-builder .join-field select::placeholder{color:#3e4f70}.join-builder .join-field select:hover{border-color:#94a3b82e;background:#060810cc}.join-builder .join-field select:focus{border-color:#4f8fff80;box-shadow:0 0 0 3px #4f8fff1a,0 0 16px #4f8fff0f;background:#060810e6}.join-builder .join-on-label{padding:10px 0;font-size:11px;font-weight:800;color:#3e4f70;flex-shrink:0;text-transform:uppercase;letter-spacing:.06em}.join-builder .join-equals{padding:10px 4px;font-size:16px;font-weight:800;color:#3e4f70;flex-shrink:0}.join-builder .join-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.join-builder .join-btn{padding:8px 20px;font-size:12.5px;font-weight:650;font-family:inherit;border-radius:8px;cursor:pointer;transition:all .2s}.join-builder .join-btn.cancel{background:transparent;border:1px solid rgba(148,163,184,.1);color:#b8c5e0}.join-builder .join-btn.cancel:hover{background:#ffffff08}.join-builder .join-btn.add{background:linear-gradient(135deg,#4f8fff,#7c5cfc);border:none;color:#fff;box-shadow:0 2px 6px #4f8fff33}.join-builder .join-btn.add:hover:not(:disabled){box-shadow:0 4px 16px #4f8fff4d;transform:translateY(-1px)}.join-builder .join-btn.add:disabled{opacity:.3;cursor:not-allowed}.page-tabs{display:flex;align-items:stretch;background:#080b16cc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid rgba(148,163,184,.06);flex-shrink:0;min-height:36px;overflow-x:auto}.page-tabs::-webkit-scrollbar{width:5px;height:5px}.page-tabs::-webkit-scrollbar-track{background:transparent}.page-tabs::-webkit-scrollbar-thumb{background:#94a3b81a;border-radius:99px}.page-tabs::-webkit-scrollbar-thumb:hover{background:#94a3b833}.page-tabs .page-tab{display:flex;align-items:center;padding:6px 20px;font-size:12px;font-weight:600;color:#3e4f70;cursor:pointer;border-right:1px solid rgba(148,163,184,.06);transition:all .2s;white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative}.page-tabs .page-tab:hover{background:#ffffff05;color:#b8c5e0}.page-tabs .page-tab.active{color:#f0f4ff;background:#4f8fff0a;font-weight:700}.page-tabs .page-tab.active:after{content:"";position:absolute;bottom:0;left:8px;right:8px;height:2px;background:#4f8fff;border-radius:2px;box-shadow:0 0 8px #4f8fff4d}.page-tabs .page-tab .page-tab-name{max-width:130px;overflow:hidden;text-overflow:ellipsis}.page-tabs .page-tab .page-tab-input{font-size:12px;font-weight:600;font-family:inherit;padding:2px 6px;border:1px solid rgba(79,143,255,.4);border-radius:4px;background:#0000004d;color:#f0f4ff;outline:none;width:110px;box-shadow:0 0 8px #4f8fff1a}.page-tabs .page-tab-add{display:grid;place-items:center;width:32px;padding:0;border:none;background:transparent;color:#3e4f70;cursor:pointer;transition:all .2s}.page-tabs .page-tab-add:hover{color:#4f8fff;background:#4f8fff0d}.page-context-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999}.page-context-menu{position:fixed;z-index:1000;background:#0c101c;border:1px solid rgba(148,163,184,.1);border-radius:12px;padding:5px;min-width:130px;box-shadow:0 20px 60px #0006,0 8px 24px #00000040;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.page-context-menu button{display:block;width:100%;padding:7px 14px;font-size:12.5px;font-family:inherit;text-align:left;border:none;border-radius:8px;background:transparent;color:#b8c5e0;cursor:pointer;transition:all .12s}.page-context-menu button:hover{background:#4f8fff0f;color:#f0f4ff}.page-context-menu button.disabled{opacity:.25;cursor:not-allowed}.auto-save-indicator{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:550;padding:0 10px}.auto-save-indicator.saving{color:#6b7fa3}.auto-save-indicator.saved{color:#22d3a7;animation:fade-in .2s ease;text-shadow:0 0 10px rgba(34,211,167,.2)}.auto-save-indicator.error{color:#fb4b6e}.auto-save-indicator.error button{font-size:10px;font-family:inherit;padding:3px 10px;margin-left:6px;border:1px solid rgba(251,75,110,.2);border-radius:4px;background:#fb4b6e0a;color:#fb4b6e;cursor:pointer;transition:all .15s}.auto-save-indicator.error button:hover{background:#fb4b6e14}.auto-save-indicator .save-spinner{width:11px;height:11px;border:1.5px solid rgba(79,143,255,.15);border-top-color:#4f8fff;border-radius:50%;animation:spin .7s linear infinite}.auto-save-indicator .save-idle{color:#3e4f70;font-size:10.5px}.data-preview{margin-top:10px}.data-preview .preview-info{font-size:11.5px;color:#6b7fa3;margin-bottom:10px;display:flex;align-items:center;gap:8px}.data-preview .preview-info .preview-stat{font-weight:650}.data-preview .preview-info .preview-sep{color:#3e4f70;font-size:8px}.data-preview .preview-table-wrapper{overflow-x:auto;border:1px solid rgba(148,163,184,.1);border-radius:16px;box-shadow:0 1px 2px #0003,0 1px 3px #0000001a}.data-preview .preview-table-wrapper::-webkit-scrollbar{width:5px;height:5px}.data-preview .preview-table-wrapper::-webkit-scrollbar-track{background:transparent}.data-preview .preview-table-wrapper::-webkit-scrollbar-thumb{background:#94a3b81a;border-radius:99px}.data-preview .preview-table-wrapper::-webkit-scrollbar-thumb:hover{background:#94a3b833}.data-preview .preview-table{width:100%;border-collapse:collapse;font-size:11.5px}.data-preview .preview-table th{padding:10px 14px;text-align:left;font-weight:700;font-size:10px;color:#6b7fa3;text-transform:uppercase;letter-spacing:.05em;background:#0c101c;border-bottom:1px solid rgba(148,163,184,.1);white-space:nowrap;position:sticky;top:0}.data-preview .preview-table td{padding:8px 14px;color:#b8c5e0;border-bottom:1px solid rgba(148,163,184,.06);white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.data-preview .preview-table tr:hover td{background:#4f8fff05}.data-preview .preview-more{font-size:10.5px;color:#3e4f70;padding:8px 0;text-align:center}.browser-section .browser-section-label{font-weight:700;color:#3e4f70;text-transform:uppercase;letter-spacing:.1em;padding:10px 14px 5px;font-size:10px;color:#4f8fff;text-shadow:0 0 12px rgba(79,143,255,.15)}.column-group-label{font-size:10px;font-weight:700;color:#3e4f70;text-transform:uppercase;letter-spacing:.1em;padding:8px 10px 3px;font-size:9px;color:#7c5cfc}.page-count{font-weight:600;color:#6b7fa3}@media (max-width: 996px){.data-browser{width:220px}.config-panel{width:260px}}@media (max-width: 768px){.data-browser{display:none}.config-panel{position:absolute;right:0;top:0;bottom:0;z-index:100;box-shadow:-4px 0 32px #00000080;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.dashboard-list-page{padding:24px}.dashboard-list-page .list-grid{grid-template-columns:1fr}.data-source-tab{padding:20px}}.calc-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:200}.calc-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:480px;max-width:90vw;max-height:80vh;background:#0e1320;border:1px solid rgba(148,163,184,.1);border-radius:14px;box-shadow:0 24px 80px #0009;z-index:201;display:flex;flex-direction:column;overflow:hidden}.calc-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(148,163,184,.06)}.calc-dialog-header h3{font-size:14px;font-weight:700;color:#f0f4ff;margin:0}.calc-dialog-close{background:none;border:none;color:#6b7fa3;font-size:20px;cursor:pointer;padding:0 4px;line-height:1}.calc-dialog-close:hover{color:#f0f4ff}.calc-mode-tabs{display:flex;gap:0;padding:0 20px;border-bottom:1px solid rgba(148,163,184,.06)}.calc-mode-tab{flex:1;padding:10px 0;font-size:12px;font-weight:600;font-family:inherit;text-align:center;background:none;border:none;border-bottom:2px solid transparent;color:#b8c5e0;cursor:pointer;transition:all .15s}.calc-mode-tab.active{color:#4f8fff;border-bottom-color:#4f8fff}.calc-mode-tab:hover:not(.active){color:#f0f4ff}.calc-ai-section,.calc-manual-section{padding:16px 20px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;flex:1}.calc-ai-section label,.calc-manual-section label{font-size:11px;font-weight:650;color:#b8c5e0;text-transform:uppercase;letter-spacing:.3px}.calc-ai-section textarea,.calc-ai-section input,.calc-manual-section textarea,.calc-manual-section input{width:100%;padding:10px 14px;font-size:13px;font-family:inherit;border:1px solid rgba(148,163,184,.1);background:#06081099;color:#f0f4ff;outline:none;transition:all .2s cubic-bezier(.4,0,.2,1);font-size:12.5px;border-radius:8px;resize:vertical}.calc-ai-section textarea::placeholder,.calc-ai-section input::placeholder,.calc-manual-section textarea::placeholder,.calc-manual-section input::placeholder{color:#3e4f70}.calc-ai-section textarea:hover,.calc-ai-section input:hover,.calc-manual-section textarea:hover,.calc-manual-section input:hover{border-color:#94a3b82e;background:#060810cc}.calc-ai-section textarea:focus,.calc-ai-section input:focus,.calc-manual-section textarea:focus,.calc-manual-section input:focus{border-color:#4f8fff80;box-shadow:0 0 0 3px #4f8fff1a,0 0 16px #4f8fff0f;background:#060810e6}.calc-ai-section textarea:focus,.calc-ai-section input:focus,.calc-manual-section textarea:focus,.calc-manual-section input:focus{border-color:#4f8fff66;box-shadow:0 0 0 3px #4f8fff0f}.calc-ai-btn{padding:10px 18px;font-size:12px;font-weight:700;font-family:inherit;border:none;border-radius:8px;background:linear-gradient(135deg,#7c5cfc,#a855f7);color:#fff;cursor:pointer;transition:all .2s;align-self:flex-start}.calc-ai-btn:hover:not(:disabled){box-shadow:0 4px 16px #7c5cfc4d;transform:translateY(-1px)}.calc-ai-btn:disabled{opacity:.4;cursor:not-allowed}.calc-field{display:flex;flex-direction:column;gap:4px}.calc-expression{font-family:JetBrains Mono,Fira Code,monospace;font-size:12px!important;line-height:1.5}.calc-hint{font-size:10px;color:#6b7fa3;line-height:1.4}.calc-role-toggle{display:flex;gap:6px}.calc-role-toggle .role-btn{flex:1;padding:8px 12px;font-size:11px;font-weight:600;font-family:inherit;border:1px solid rgba(148,163,184,.1);border-radius:8px;background:#0003;color:#b8c5e0;cursor:pointer;transition:all .15s}.calc-role-toggle .role-btn.active{border-color:#4f8fff66;background:#4f8fff14;color:#4f8fff}.calc-role-toggle .role-btn:hover:not(.active){border-color:#94a3b82e;color:#f0f4ff}.calc-dialog-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid rgba(148,163,184,.06)}.calc-cancel{padding:8px 16px;font-size:12px;font-weight:600;font-family:inherit;border:1px solid rgba(148,163,184,.1);border-radius:8px;background:none;color:#b8c5e0;cursor:pointer}.calc-cancel:hover{color:#f0f4ff;border-color:#94a3b82e}.calc-save{padding:8px 20px;font-size:12px;font-weight:700;font-family:inherit;border:none;border-radius:8px;background:#4f8fff;color:#fff;cursor:pointer;transition:all .15s}.calc-save:hover:not(:disabled){background:#699fff}.calc-save:disabled{opacity:.4;cursor:not-allowed}.field-item.calculated{position:relative}.field-item.calculated .col-badge{background:#fbbf241f!important;color:#fbbf24!important}.field-calc-actions{display:flex;gap:2px;margin-left:auto;opacity:0;transition:opacity .15s}.field-item:hover .field-calc-actions{opacity:1}.field-calc-edit,.field-calc-remove{background:none;border:none;color:#6b7fa3;cursor:pointer;padding:2px;font-size:12px;line-height:1;border-radius:3px}.field-calc-edit:hover,.field-calc-remove:hover{color:#f0f4ff;background:#ffffff0d}.field-calc-remove:hover{color:#fb4b6e}.calc-add-btn{width:100%;padding:6px 10px;font-size:11px;font-weight:600;font-family:inherit;border:1px dashed rgba(148,163,184,.1);border-radius:6px;background:none;color:#b8c5e0;cursor:pointer;text-align:left;margin-top:4px;transition:all .15s}.calc-add-btn:hover{border-color:#fbbf2466;color:#fbbf24;background:#fbbf240a}.dashboard-page{width:100vw;height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);position:relative;overflow:hidden}.dashboard-page .animated-bg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0}.dashboard-page .animated-bg .gradient-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 50%,var(--accent-primary) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,var(--accent-secondary) 0%,transparent 50%),radial-gradient(ellipse at 40% 80%,var(--accent-purple) 0%,transparent 50%);opacity:.08;animation:gradient-shift 20s ease-in-out infinite}.dashboard-page .animated-bg .grid-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--border-light) 1px,transparent 1px),linear-gradient(90deg,var(--border-light) 1px,transparent 1px);background-size:50px 50px;opacity:.3;animation:grid-move 20s linear infinite}.dashboard-page .dashboard-header{position:relative;height:56px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);z-index:100}.dashboard-page .dashboard-header .header-left .logo{display:flex;align-items:center;gap:8px}.dashboard-page .dashboard-header .header-left .logo svg{font-size:24px}.dashboard-page .dashboard-header .header-left .logo h5{margin:0;font-weight:700;font-size:1.1rem}.dashboard-page .dashboard-header .header-left .logo .gradient-text{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dashboard-page .dashboard-header .header-center{flex:1;display:flex;justify-content:center}.dashboard-page .dashboard-header .header-center .status-indicators{display:flex;gap:8px}.dashboard-page .dashboard-header .header-center .status-indicators .status-chip{height:26px}.dashboard-page .dashboard-header .header-center .status-indicators .status-chip .MuiChip-label{font-size:.7rem;padding:0 8px}.dashboard-page .dashboard-header .header-center .status-indicators .status-chip .status-dot{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:4px}.dashboard-page .dashboard-header .header-center .status-indicators .status-chip .status-dot.active{background:var(--accent-secondary);box-shadow:0 0 6px var(--accent-secondary);animation:pulse 2s infinite}.dashboard-page .dashboard-header .header-center .status-indicators .status-chip .status-dot.inactive{background:var(--accent-error)}.dashboard-page .dashboard-header .header-right{display:flex;align-items:center;gap:4px}.dashboard-page .dashboard-header .header-right .MuiTypography-body2{font-size:.85rem;color:var(--text-secondary)}.dashboard-page .dashboard-header .header-right .MuiIconButton-root{padding:6px}.dashboard-page .tab-navigation{position:relative;z-index:50;margin:0;border-radius:0;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);min-height:48px}.dashboard-page .tab-navigation .MuiTabs-root{min-height:48px}.dashboard-page .tab-navigation .MuiTab-root{min-height:48px;padding:6px 12px;font-size:.9rem;color:var(--text-muted)}.dashboard-page .tab-navigation .MuiTab-root.Mui-selected{color:var(--accent-primary)}.dashboard-page .tab-navigation .MuiTabs-indicator{background-color:var(--accent-primary);box-shadow:0 0 10px var(--focus-ring)}.dashboard-page .dashboard-content{flex:1;position:relative;z-index:10;overflow:hidden;background:var(--bg-primary)}.dashboard-page .dashboard-content>div{height:100%}.glass{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color)}@keyframes gradient-shift{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.1)}}@keyframes grid-move{0%{transform:translate(0)}to{transform:translate(50px,50px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px;opacity:0}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.admin-page{width:100vw;height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);overflow:hidden}.admin-page .admin-header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);z-index:10}.admin-page .admin-tabs{padding:0 24px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.admin-page .admin-tabs .MuiTab-root{text-transform:none;font-weight:600;min-height:48px}.admin-page .admin-content{flex:1;overflow-y:auto;padding:24px}:root{--bg-primary: #0a0a0f;--bg-secondary: #111827;--bg-tertiary: #1f2937;--bg-card: rgba(17, 24, 39, .95);--bg-hover: rgba(55, 65, 81, .5);--bg-input: rgba(17, 24, 39, .8);--text-primary: #f9fafb;--text-secondary: #e5e7eb;--text-muted: #9ca3af;--text-disabled: #6b7280;--border-color: rgba(75, 85, 99, .4);--border-light: rgba(75, 85, 99, .2);--border-highlight: rgba(59, 130, 246, .5);--accent-primary: #3b82f6;--accent-secondary: #10b981;--accent-warning: #f59e0b;--accent-error: #ef4444;--accent-info: #06b6d4;--accent-purple: #8b5cf6;--hover-overlay: rgba(255, 255, 255, .05);--active-overlay: rgba(255, 255, 255, .1);--focus-ring: rgba(59, 130, 246, .5);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(59, 130, 246, .3);--sidebar-bg: rgba(17, 24, 39, .98);--sidebar-border: rgba(75, 85, 99, .3);--sidebar-item-hover: rgba(59, 130, 246, .1);--sidebar-item-active: rgba(59, 130, 246, .2);--chat-bg: var(--bg-primary);--message-user-bg: rgba(59, 130, 246, .15);--message-assistant-bg: var(--bg-card);--message-border: var(--border-color);--table-header-bg: #1f2937;--table-row-odd: #111827;--table-row-even: #1f2937;--table-border: #374151;--accent-cyan: #06b6d4;--accent-green: #10b981;--accent-magenta: #a855f7;--accent-gold: #f59e0b;--accent-violet: #8b5cf6;--accent-red: #ef4444;--message-ai-bg: rgba(59, 130, 246, .08);--message-ai-border: rgba(59, 130, 246, .2);--sql-bg: rgba(0, 0, 0, .3);--sql-label: var(--accent-primary);--sql-text: var(--text-primary);--sql-pre-bg: rgba(0, 0, 0, .3);--feedback-positive: #10b981;--feedback-negative: #ef4444;--feedback-inactive: var(--text-disabled);--hero-gradient-start: #1e3a5f;--hero-gradient-end: #2563eb;--hero-text: #ffffff;--scrollbar-track: rgba(0, 0, 0, .3);--scrollbar-thumb: rgba(75, 85, 99, .6);--scrollbar-thumb-hover: rgba(107, 114, 128, .8)}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--bg-card: rgba(255, 255, 255, .95);--bg-hover: rgba(0, 0, 0, .04);--bg-input: rgba(249, 250, 251, .9);--text-primary: #111827;--text-secondary: #374151;--text-muted: #6b7280;--text-disabled: #9ca3af;--border-color: rgba(209, 213, 219, .8);--border-light: rgba(229, 231, 235, .6);--border-highlight: rgba(59, 130, 246, .6);--accent-primary: #2563eb;--accent-secondary: #059669;--accent-warning: #d97706;--accent-error: #dc2626;--accent-info: #0891b2;--accent-purple: #7c3aed;--hover-overlay: rgba(0, 0, 0, .04);--active-overlay: rgba(0, 0, 0, .08);--focus-ring: rgba(59, 130, 246, .4);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .15);--shadow-glow: 0 0 20px rgba(59, 130, 246, .15);--sidebar-bg: rgba(249, 250, 251, .98);--sidebar-border: rgba(209, 213, 219, .6);--sidebar-item-hover: rgba(59, 130, 246, .08);--sidebar-item-active: rgba(59, 130, 246, .15);--chat-bg: var(--bg-primary);--message-user-bg: rgba(59, 130, 246, .1);--message-assistant-bg: var(--bg-secondary);--message-border: var(--border-color);--table-header-bg: #f3f4f6;--table-row-odd: #ffffff;--table-row-even: #f9fafb;--table-border: #e5e7eb;--accent-cyan: #0891b2;--accent-green: #059669;--accent-magenta: #9333ea;--accent-gold: #d97706;--accent-violet: #7c3aed;--accent-red: #dc2626;--message-ai-bg: rgba(59, 130, 246, .06);--message-ai-border: rgba(59, 130, 246, .15);--sql-bg: rgba(0, 0, 0, .05);--sql-label: var(--accent-primary);--sql-text: var(--text-primary);--sql-pre-bg: rgba(0, 0, 0, .04);--feedback-positive: #059669;--feedback-negative: #dc2626;--feedback-inactive: var(--text-disabled);--hero-gradient-start: #2563eb;--hero-gradient-end: #3b82f6;--hero-text: #ffffff;--scrollbar-track: rgba(0, 0, 0, .05);--scrollbar-thumb: rgba(156, 163, 175, .5);--scrollbar-thumb-hover: rgba(107, 114, 128, .7)}body,.sidebar,.chat-container,.message-card,.enhanced-chat,.thread-sidebar{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{background:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}.glass{background:var(--bg-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:16px}.glow-primary{box-shadow:0 0 30px var(--focus-ring)}.glow-secondary{box-shadow:0 0 30px #10b9814d}.gradient-text{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 50%,var(--accent-purple) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-size:200% auto;animation:gradient-shift 3s ease infinite}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.holographic{position:relative}.holographic:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,var(--accent-primary),var(--accent-purple),var(--accent-secondary),var(--accent-primary));background-size:400% 400%;animation:holographic-shift 10s ease infinite;border-radius:inherit;z-index:-1;opacity:.7;filter:blur(10px)}@keyframes holographic-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.float-animation{animation:float 6s ease-in-out infinite}.pulse-animation{animation:pulse 2s ease-in-out infinite}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}::selection{background:var(--accent-primary);color:#fff}
