:root{--palette-cyan-500:#0ff;--palette-cyan-400:#3ff;--palette-cyan-600:#00d4e6;--palette-blue-500:#5b7cfa;--palette-blue-400:#7c96fb;--palette-blue-600:#4a68d9;--palette-magenta-500:#ff5fd1;--palette-magenta-400:#ff7fdb;--palette-magenta-600:#e54fbb;--palette-violet-500:#8b5cf6;--palette-violet-400:#a78bfa;--palette-violet-600:#7c3aed;--palette-green-500:#34c759;--palette-green-400:#4cd964;--palette-green-600:#28a745;--palette-orange-500:#ff9500;--palette-orange-400:#fa3;--palette-orange-600:#e68600;--palette-red-500:#ff3b30;--palette-red-400:#ff6259;--palette-red-600:#dc3545;--palette-yellow-500:#fc0;--palette-yellow-400:#ffd633;--palette-yellow-600:#e6b800;--orb-idle:#4a90d9;--orb-idle-secondary:#3d6ea5;--orb-listening:#00ff9f;--orb-listening-secondary:#00d4aa;--orb-processing:#bf5af2;--orb-processing-secondary:#9d4edd;--orb-speaking:#ff2d92;--orb-speaking-secondary:#ff6b35;--orb-idle-a:var(--orb-idle);--orb-idle-b:var(--orb-idle-secondary);--orb-listening-a:var(--orb-listening);--orb-listening-b:var(--orb-listening-secondary);--orb-processing-a:var(--orb-processing);--orb-processing-b:var(--orb-processing-secondary);--orb-speaking-a:var(--orb-speaking);--orb-speaking-b:var(--orb-speaking-secondary);--orb-thinking-a:var(--palette-yellow-500);--orb-thinking-b:var(--palette-orange-500);--chart-1:var(--palette-blue-500);--chart-2:var(--palette-cyan-500);--chart-3:var(--palette-magenta-500);--chart-4:var(--palette-green-500);--chart-5:var(--palette-yellow-500);--chart-6:var(--palette-orange-500);--chart-7:var(--palette-violet-500);--chart-8:var(--palette-red-500);--chart-semantic-primary:var(--chart-1);--chart-semantic-comparison:var(--chart-2);--chart-semantic-positive:var(--palette-green-500);--chart-semantic-negative:var(--palette-red-500);--chart-semantic-warning:var(--palette-orange-500);--chart-semantic-neutral:var(--palette-violet-500);--chart-font-family:var(--font-family);--chart-font-weight-regular:var(--font-weight-regular);--chart-font-weight-medium:var(--font-weight-medium);--chart-font-weight-semibold:var(--font-weight-semibold);--chart-title-size:clamp(16px, 1.4vw, 21px);--chart-legend-size:clamp(12px, 1.1vw, 15px);--chart-axis-size:clamp(11px, 1vw, 14px);--chart-tooltip-title-size:clamp(13px, 1.1vw, 15px);--chart-tooltip-body-size:clamp(12px, 1vw, 14px);--chart-card-radius:var(--radius-lg);--chart-card-border-width:1px;--chart-card-padding:clamp(10px, 2.2vw, 20px);--chart-card-gap:clamp(8px, 1.2vw, 14px);--chart-title-bottom-gap:clamp(8px, 1.2vw, 14px);--chart-legend-gap:clamp(8px, 1.2vw, 16px);--chart-plot-min-height-mobile:clamp(210px, 52vh, 340px);--chart-plot-min-height-desktop:clamp(280px, 60vh, 680px);--chart-grid-opacity:.16;--chart-grid-border-opacity:.24;--chart-tooltip-radius:8px;--chart-focus-ring:0 0 0 3px color-mix(in srgb, var(--accent-primary) 32%, transparent);--motion-instant:50ms;--motion-fast:.12s cubic-bezier(.33, 1, .68, 1);--motion-medium:.24s cubic-bezier(.33, 1, .68, 1);--motion-slow:.42s cubic-bezier(.22, 1, .36, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--liquid-fast:.2s var(--ease-in-out);--liquid-normal:.4s var(--ease-in-out);--liquid-slow:.6s var(--ease-out);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-8:48px;--space-10:64px;--space-12:80px;--space-xs:var(--space-1);--space-sm:var(--space-2);--space-md:var(--space-4);--space-lg:var(--space-5);--space-xl:var(--space-6);--space-2xl:var(--space-8);--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-2xl:32px;--radius-capsule:50px;--radius-full:9999px;--font-family:"Geist Variable", "Geist", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-family-mono:"Geist Mono Variable", "Geist Mono", "SF Mono", "Fira Code", "Consolas", monospace;--text-xs:clamp(11px, 2.5vw, 12px);--text-sm:clamp(13px, 3vw, 14px);--text-md:clamp(15px, 3.5vw, 16px);--text-lg:clamp(17px, 4vw, 18px);--text-xl:clamp(20px, 5vw, 24px);--text-2xl:clamp(28px, 7vw, 32px);--text-3xl:clamp(36px, 9vw, 48px);--font-weight-light:300;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.2;--leading-snug:1.3;--leading-normal:1.5;--leading-relaxed:1.6;--tracking-tight:0;--tracking-normal:0;--tracking-wide:0;--tracking-widest:0;--touch-target-min:44px;--touch-target-comfortable:48px;--touch-target-large:56px;--safe-area-top:env(safe-area-inset-top,0px);--safe-area-right:env(safe-area-inset-right,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--z-canvas:1;--z-ui-overlay:10;--z-nav:100;--z-dropdown:200;--z-files-panel:300;--z-dashboard:500;--z-modal:1000;--z-orb-minimized:10000;--z-drag-overlay:999}[data-theme=dark],:root{--bg-page:#05070f;--bg-surface:#0a0f1c;--bg-elevated:#0f1726;--bg-overlay:#05070fbf;--bg-gradient:radial-gradient(ellipse 120% 100% at 50% 50%, #1c2450 0%, #121a38 40%, #0a0e1f 100%);--text-primary:#f0f4ff;--text-secondary:#b8c4e0;--text-muted:#8892a8;--text-disabled:#5a6478;--text-inverse:#0a0f1c;--text-on-primary:#0a0f1c;--border-default:#ffffff29;--border-subtle:#ffffff1a;--border-strong:#ffffff3d;--border-active:var(--palette-cyan-500);--accent-primary:var(--palette-cyan-500);--accent-primary-hover:var(--palette-cyan-400);--accent-primary-muted:#00ffff26;--accent-secondary:var(--palette-blue-500);--accent-secondary-hover:var(--palette-blue-400);--accent-accent:var(--palette-magenta-500);--accent-accent-hover:var(--palette-magenta-400);--status-success:var(--palette-green-500);--status-success-muted:#34c75926;--status-warning:var(--palette-orange-500);--status-warning-muted:#ff950026;--status-error:var(--palette-red-500);--status-error-text:var(--palette-red-400);--status-error-muted:#ff3b3026;--status-info:#5b7cfa;--status-info-muted:#5b7cfa26;--glass-bg:#ffffff26;--glass-bg-hover:#fff3;--glass-bg-active:#ffffff3d;--glass-bg-strong:#ffffff47;--glass-border:#ffffff29;--glass-border-subtle:#ffffff1a;--glass-blur:blur(20px);--glass-blur-light:blur(12px);--glass-blur-heavy:blur(40px);--glass-inner-glow:inset 0 1px 0 #ffffff26;--glass-highlight:linear-gradient(135deg, #ffffff2e 0%, transparent 50%);--surface-card:var(--glass-bg);--surface-card-hover:var(--glass-bg-hover);--surface-input:var(--glass-bg);--surface-input-hover:var(--glass-bg-hover);--surface-input-focus:var(--glass-bg-active);--surface-modal:#0a0f1cf2;--surface-sidebar:var(--bg-surface);--surface-dropdown:#0f172af2;--surface-toast:var(--glass-bg-strong);--surface-tooltip:#1e293bf2;--chart-surface:#0f172a7a;--chart-surface-border:#ffffff24;--chart-grid-color:rgba(255, 255, 255, var(--chart-grid-opacity));--chart-grid-border-color:rgba(255, 255, 255, var(--chart-grid-border-opacity));--chart-legend-color:var(--text-primary);--chart-axis-color:var(--text-primary);--chart-axis-title-color:var(--text-secondary);--chart-tooltip-bg:#0f172af5;--chart-tooltip-fg:#f8fafc;--chart-tooltip-border:#ffffff2e;--elevation-1:0 1px 2px #0000004d, 0 1px 3px #00000026;--elevation-2:0 2px 4px #0000004d, 0 4px 8px #00000026;--elevation-3:0 4px 8px #0000004d, 0 8px 16px #00000026;--elevation-4:0 8px 16px #0000004d, 0 16px 32px #00000026;--glow-primary:0 0 20px var(--accent-primary-muted);--glow-primary-strong:0 0 30px var(--accent-primary-muted);--glow-accent:0 0 20px #db00ff26;--glow-success:0 0 15px var(--status-success-muted);--glow-error:0 0 15px var(--status-error-muted);--focus-ring:0 0 0 3px var(--accent-primary-muted);--focus-ring-error:0 0 0 3px var(--status-error-muted);--interactive-hover-bg:var(--glass-bg-hover);--interactive-active-bg:var(--glass-bg-active);--interactive-selected-bg:#00ffff26;--scrollbar-track:#0000004d;--scrollbar-thumb:#00ffff4d;--scrollbar-thumb-hover:#00ffff80;--primary-neon:var(--accent-primary);--primary-neon-glow:var(--accent-primary-muted);--secondary-neon:var(--accent-secondary);--accent-neon:var(--accent-accent);--neon-cyan:var(--accent-primary);--neon-pink:var(--accent-accent);--neon-purple:var(--palette-violet-500);--neon-blue:var(--accent-secondary);--success-neon:var(--status-success);--success-neon-shadow:0 0 8px var(--status-success-muted);--warning-neon:var(--status-warning);--error-neon:var(--status-error);--text-strong:var(--text-primary);--text-mid:var(--text-secondary);--text-strong-contrast:var(--text-primary);--text-muted-contrast:var(--text-secondary);--text-on-glass:var(--text-primary);--text-on-glass-muted:var(--text-secondary);--glass-regular:var(--glass-bg);--glass-regular-border:var(--glass-border);--glass-regular-inner:var(--glass-bg-hover);--glass-clear:#ffffff0d;--glass-clear-border:var(--glass-border-subtle);--glass-strong:var(--glass-bg-strong);--ink-bg:var(--bg-page);--ink-panel:var(--bg-surface);--ink-surface:var(--bg-elevated);--ink-border:var(--border-subtle);--ink-overlay:var(--bg-overlay);--content-bg:var(--bg-surface);--content-surface:var(--glass-bg);--content-surface-hover:var(--glass-bg-hover);--color-text-primary:var(--text-primary);--color-text-secondary:var(--text-secondary);--color-text-tertiary:var(--text-muted);--color-text-disabled:var(--text-disabled);--color-text-inverse:var(--text-inverse);--color-bg-glass:var(--glass-bg);--color-bg-glass-hover:var(--glass-bg-hover);--color-border-default:var(--border-default);--color-border-subtle:var(--border-subtle);--color-border-active:var(--border-active);--color-interactive-primary:var(--accent-primary);--color-interactive-primary-hover:var(--accent-primary-hover);--color-interactive-primary-muted:var(--accent-primary-muted);--color-success:var(--status-success);--color-success-muted:var(--status-success-muted);--color-warning:var(--status-warning);--color-warning-muted:var(--status-warning-muted);--color-error:var(--status-error);--color-error-muted:var(--status-error-muted);--crystal-shadow:var(--elevation-2), var(--glow-primary);--shadow-primary:var(--elevation-2), var(--glow-primary);--shadow-primary-soft:var(--elevation-1), var(--glow-primary);--shadow-primary-strong:var(--elevation-3), var(--glow-primary-strong);--cta-gradient:linear-gradient(135deg, var(--orb-listening), var(--orb-speaking));--cta-gradient-hover:linear-gradient(135deg, var(--orb-speaking), var(--orb-speaking-secondary));--bg-main:var(--bg-page);--accent-secondary-muted:#5b7cfa26;--success-muted:var(--status-success-muted);--error-muted:var(--status-error-muted);--glow-secondary:0 0 20px #5b7cfa4d;--text-on-accent:#fff;--shimmer-gradient:linear-gradient(90deg, #ffffff0d 25%, #ffffff1a 50%, #ffffff0d 75%);--shimmer-gradient-muted:linear-gradient(90deg, #ffffff08 25%, #ffffff0f 50%, #ffffff08 75%)}[data-theme=light]{--bg-page:#f8fafc;--bg-surface:#f1f5f9;--bg-elevated:#e2e8f0;--bg-overlay:#f8fafcbf;--bg-gradient:linear-gradient(135deg, #fafbfc 0%, #e2e8f0 50%, #f1f5f9 100%);--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-disabled:#cbd5e1;--text-inverse:#f8fafc;--text-on-primary:#fff;--border-default:#00000014;--border-subtle:#0000000d;--border-strong:#0000001f;--border-active:var(--palette-cyan-600);--accent-primary:#00e6e6;--accent-primary-hover:#00d4d4;--accent-primary-muted:#00ffff26;--accent-secondary:#5b7cfa;--accent-secondary-hover:#4a68d9;--accent-accent:#ff5fd1;--accent-accent-hover:#e54fbb;--status-success:var(--palette-green-500);--status-success-muted:#34c75926;--status-warning:var(--palette-orange-500);--status-warning-muted:#ff950026;--status-error:var(--palette-red-500);--status-error-text:#b42318;--status-error-muted:#ff3b3026;--status-info:#5b7cfa;--status-info-muted:#5b7cfa26;--glass-bg:#ffffffeb;--glass-bg-hover:#fffffff5;--glass-bg-active:#ffffffeb;--glass-bg-strong:#fffffff2;--glass-border:#00000014;--glass-border-subtle:#0000000d;--glass-blur:blur(20px);--glass-blur-light:blur(12px);--glass-blur-heavy:blur(40px);--glass-inner-glow:inset 0 1px 0 #fff9;--glass-highlight:linear-gradient(135deg, #fff6 0%, transparent 50%);--surface-card:#ffffffe6;--surface-card-hover:#fffffff2;--surface-input:#fffc;--surface-input-hover:#ffffffe6;--surface-input-focus:#fffffff2;--surface-modal:#f8fafcf2;--surface-sidebar:#f8fafcf2;--surface-dropdown:#f8fafcf2;--surface-toast:#fffffff2;--surface-tooltip:#0f172af2;--chart-surface:#ffffffe0;--chart-surface-border:#0f172a1f;--chart-grid-color:rgba(15, 23, 42, var(--chart-grid-opacity));--chart-grid-border-color:rgba(15, 23, 42, var(--chart-grid-border-opacity));--chart-legend-color:var(--text-primary);--chart-axis-color:var(--text-primary);--chart-axis-title-color:var(--text-secondary);--chart-tooltip-bg:#0f172af5;--chart-tooltip-fg:#f8fafc;--chart-tooltip-border:#fff3;--elevation-1:0 1px 2px #0000000d, 0 1px 3px #00000008;--elevation-2:0 2px 4px #0000000f, 0 4px 8px #0000000a;--elevation-3:0 4px 8px #0000000f, 0 8px 16px #0000000a;--elevation-4:0 8px 16px #0000000f, 0 16px 32px #0000000a;--glow-primary:0 0 20px #0ff3;--glow-primary-strong:0 0 30px #00ffff40;--glow-accent:0 0 20px #db00ff33;--glow-success:0 0 15px #34c75933;--glow-error:0 0 15px #ff3b3033;--focus-ring:0 0 0 3px #00ffff4d;--focus-ring-error:0 0 0 3px #ff3b304d;--interactive-hover-bg:#00ffff1a;--interactive-active-bg:#00ffff26;--interactive-selected-bg:#00ffff1f;--scrollbar-track:#0000000d;--scrollbar-thumb:#00ffff4d;--scrollbar-thumb-hover:#00ffff80;--primary-neon:var(--accent-primary);--primary-neon-glow:var(--accent-primary-muted);--secondary-neon:var(--accent-secondary);--accent-neon:var(--accent-accent);--neon-cyan:var(--accent-primary);--neon-pink:var(--accent-accent);--neon-purple:var(--palette-violet-500);--neon-blue:var(--accent-secondary);--success-neon:var(--status-success);--success-neon-shadow:0 0 8px var(--status-success-muted);--warning-neon:var(--status-warning);--error-neon:var(--status-error);--text-strong:var(--text-primary);--text-mid:var(--text-secondary);--text-strong-contrast:var(--text-primary);--text-muted-contrast:var(--text-secondary);--text-on-glass:var(--text-primary);--text-on-glass-muted:var(--text-secondary);--glass-regular:var(--glass-bg);--glass-regular-border:var(--glass-border);--glass-regular-inner:var(--glass-bg-hover);--glass-clear:#fff6;--glass-clear-border:var(--glass-border-subtle);--glass-strong:var(--glass-bg-strong);--ink-bg:var(--bg-page);--ink-panel:var(--bg-surface);--ink-surface:var(--bg-elevated);--ink-border:var(--border-subtle);--ink-overlay:var(--bg-overlay);--content-bg:var(--bg-surface);--content-surface:var(--glass-bg);--content-surface-hover:var(--glass-bg-hover);--color-text-primary:var(--text-primary);--color-text-secondary:var(--text-secondary);--color-text-tertiary:var(--text-muted);--color-text-disabled:var(--text-disabled);--color-text-inverse:var(--text-inverse);--color-bg-glass:var(--glass-bg);--color-bg-glass-hover:var(--glass-bg-hover);--color-border-default:var(--border-default);--color-border-subtle:var(--border-subtle);--color-border-active:var(--border-active);--color-interactive-primary:var(--accent-primary);--color-interactive-primary-hover:var(--accent-primary-hover);--color-interactive-primary-muted:var(--accent-primary-muted);--color-success:var(--status-success);--color-success-muted:var(--status-success-muted);--color-warning:var(--status-warning);--color-warning-muted:var(--status-warning-muted);--color-error:var(--status-error);--color-error-muted:var(--status-error-muted);--crystal-shadow:var(--elevation-2), var(--glow-primary);--shadow-primary:var(--elevation-2), var(--glow-primary);--shadow-primary-soft:var(--elevation-1), var(--glow-primary);--shadow-primary-strong:var(--elevation-3), var(--glow-primary-strong);--cta-gradient:linear-gradient(135deg, var(--orb-listening), var(--orb-speaking));--cta-gradient-hover:linear-gradient(135deg, var(--orb-speaking), var(--orb-speaking-secondary));--bg-main:var(--bg-page);--accent-secondary-muted:#5b7cfa1f;--success-muted:var(--status-success-muted);--error-muted:var(--status-error-muted);--glow-secondary:0 0 20px #5b7cfa33;--text-on-accent:#fff;--shimmer-gradient:linear-gradient(90deg, #0000000a 25%, #00000014 50%, #0000000a 75%);--shimmer-gradient-muted:linear-gradient(90deg, #00000005 25%, #0000000d 50%, #00000005 75%)}@media (prefers-reduced-motion:reduce){:root,[data-theme=dark],[data-theme=light]{--motion-instant:1ms;--motion-fast:1ms linear;--motion-medium:1ms linear;--motion-slow:1ms linear;--liquid-fast:10ms;--liquid-normal:10ms;--liquid-slow:10ms}}@supports not ((-webkit-backdrop-filter:blur(20px)) or (backdrop-filter:blur(20px))){[data-theme=dark],:root{--glass-blur:none;--glass-blur-light:none;--glass-blur-heavy:none;--glass-bg:#0f172af2;--glass-bg-hover:#1e293bf2}[data-theme=light]{--glass-blur:none;--glass-blur-light:none;--glass-blur-heavy:none;--glass-bg:#fffffff2;--glass-bg-hover:#f8fafcf2}}:root{--bp-xs:320px;--bp-sm:480px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--bp-2xl:1536px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}button,[role=button],a,input[type=button],input[type=submit],input[type=reset],select,.clickable,[tabindex]:not([tabindex="-1"]){touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media (pointer:coarse){button:not(.inline-btn),[role=button]:not(.inline-btn),input[type=button],input[type=submit],input[type=reset]{min-height:var(--touch-target-min,44px)}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hidden{display:none!important}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*{box-sizing:border-box;margin:0;padding:0}:root{--content-bg:var(--ink-panel);--content-surface:var(--ink-surface);--surface:var(--content-surface);--surface-hover:#ffffff14;--border:var(--glass-regular-border);--backdrop-blur:var(--glass-blur)}body{background:var(--bg-gradient);font-family:var(--font-family,"Geist Variable", "Geist", system-ui, -apple-system, "Segoe UI", sans-serif);font-optical-sizing:auto;font-variant-numeric:tabular-nums;text-rendering:optimizelegibility;color:var(--text-primary);cursor:default;font-size:var(--text-md);min-height:100vh;line-height:1.5;position:relative;overflow-x:hidden}body:before{content:"";background:radial-gradient(circle at 20% 30%, color-mix(in srgb, var(--orb-listening-a) 12%, transparent) 0%, transparent 50%), radial-gradient(circle at 80% 70%, color-mix(in srgb, var(--orb-idle-a) 10%, transparent) 0%, transparent 50%), radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--orb-speaking-b) 8%, transparent) 0%, transparent 50%);pointer-events:none;z-index:-1;width:100%;height:100%;position:fixed;top:0;left:0}#canvas{pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0}.ui-overlay{pointer-events:none;z-index:10;width:100%;height:100%;position:fixed;top:0;left:0}.ai-interface{top:var(--space-2xl);text-align:center;pointer-events:none;animation:fadeIn 1s var(--transition-normal);position:absolute;left:50%;transform:translate(-50%)}.ai-title{font-size:var(--text-2xl);letter-spacing:0;color:var(--text-primary);text-shadow:0 0 20px var(--primary-neon-glow);font-weight:300;position:relative}.ai-title:after{content:"VUEN AI";color:var(--primary-neon);opacity:.6;filter:blur(1px);z-index:-1;animation:3s ease-in-out infinite alternate neonGlow;position:absolute;top:0;left:0}@keyframes neonGlow{0%{text-shadow:0 0 10px var(--primary-neon), 0 0 20px var(--primary-neon), 0 0 30px var(--primary-neon)}to{text-shadow:0 0 5px var(--primary-neon), 0 0 10px var(--primary-neon), 0 0 15px var(--primary-neon)}}.ai-status{font-size:var(--text-lg);color:var(--primary-neon);letter-spacing:0;opacity:0;pointer-events:none;text-align:center;z-index:30;transition:opacity var(--liquid-normal);text-shadow:0 0 10px var(--primary-neon-glow);font-weight:300;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.ai-status.persistent{opacity:1}.ai-status.active{animation:2s ease-out aiResponse}@keyframes liquidAppear{0%{opacity:0;filter:blur(10px);transform:translate(-50%)translateY(20px)scale(.9)}60%{filter:blur(2px)}to{opacity:1;filter:blur();transform:translate(-50%)translateY(0)scale(1)}}@keyframes aiResponse{0%{opacity:0;transform:translate(-50%,-50%)scale(.9)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.05)}to{opacity:0;transform:translate(-50%,-50%)scale(1)}}.files-panel{width:min(400px,100vw);height:100vh;background:var(--content-bg);z-index:3000;height:100dvh;transition:transform var(--liquid-normal);position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-4px 0 20px #0000001a}.files-panel.active{transform:translate(0)}.files-panel.hidden{display:block}.files-panel-content{flex-direction:column;height:100%;display:flex}.files-header{padding:var(--space-xl);padding-top:max(var(--space-xl), var(--safe-area-top));background:var(--glass-regular);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-regular-border);justify-content:space-between;align-items:center;display:flex}.files-header h2{font-size:var(--text-xl);letter-spacing:0;background:linear-gradient(90deg, var(--primary-neon), var(--secondary-neon));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-weight:300}.btn-close-files{background:var(--glass-regular);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-regular-border);color:var(--text-primary);border-radius:var(--radius-full);cursor:pointer;width:40px;height:40px;font-size:var(--text-xl);transition:all var(--liquid-normal);box-shadow:var(--crystal-shadow);justify-content:center;align-items:center;display:flex}.btn-close-files:hover{background:var(--glass-regular);color:var(--error-neon);border-color:var(--error-neon);transform:rotate(90deg)}.files-body{padding:var(--space-xl);padding-bottom:max(var(--space-xl), var(--safe-area-bottom));flex:1;overflow-y:auto}.files-warning{color:#d48806;border-radius:var(--radius-lg);font-size:var(--text-sm);margin-bottom:var(--space-lg);box-shadow:var(--elevation-2), 0 0 15px var(--color-warning-muted);background:#ffc1071f;border:1px solid #ffc10759;padding:14px;line-height:1.5}.files-warning strong{color:#b87400;margin-bottom:4px;font-weight:600;display:block}.files-body::-webkit-scrollbar{width:8px}.files-body::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}.files-body::-webkit-scrollbar-thumb{background:var(--primary-neon);opacity:.5;border-radius:4px}.files-body::-webkit-scrollbar-thumb:hover{background:var(--primary-neon);opacity:1}.loading-state{padding:var(--space-2xl);justify-content:center;align-items:center;gap:var(--space-md);color:var(--text-secondary);flex-direction:column;display:flex}.spinner{border:3px solid var(--glass-regular-border);border-top:3px solid var(--primary-neon);border-radius:var(--radius-full);width:40px;height:40px;animation:1s linear infinite spin}.file-item{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md);transition:all var(--liquid-normal);cursor:pointer}.file-item:hover{background:var(--surface-card-hover);box-shadow:var(--elevation-2), var(--glow-primary);border-color:var(--accent-primary);transform:translate(4px)}.file-name{font-size:var(--text-md);color:var(--text-primary);margin-bottom:var(--space-xs);align-items:center;gap:var(--space-sm);font-weight:500;display:flex}.file-meta{font-size:var(--text-xs);color:var(--text-secondary);gap:var(--space-md);display:flex}.file-size,.file-date{display:inline-block}.empty-files{text-align:center;padding:var(--space-2xl);color:var(--text-muted)}.empty-files svg{width:64px;height:64px;margin-bottom:var(--space-md);opacity:.3}.dashboard-overlay{width:100vw;height:100vh;height:100dvh;z-index:var(--z-dashboard);opacity:0;justify-content:center;align-items:center;transition:opacity .5s;display:flex;position:fixed;top:0;left:0}.dashboard-overlay.hidden{display:none!important}.dashboard-overlay:not(.hidden),.dashboard-overlay.active{opacity:1!important;display:flex!important}.dashboard-backdrop{background:var(--bg-overlay);width:100%;height:100%;-webkit-backdrop-filter:var(--glass-blur-heavy);cursor:pointer;transition:all var(--liquid-normal);position:absolute;top:0;left:0}.dashboard-panel{width:90vw;height:90vh;background:var(--surface-modal);min-width:0;max-width:1600px;height:90dvh;-webkit-backdrop-filter:var(--glass-blur-heavy);border-radius:var(--radius-xl);border:1px solid var(--border-default);box-shadow:var(--elevation-4), var(--glow-primary), var(--glass-inner-glow);animation:dashboardSlideIn var(--liquid-slow) ease-out;grid-template-rows:auto 1fr auto;display:grid;position:relative;overflow:hidden}.dashboard-panel:before{content:"";pointer-events:none;border-radius:inherit;background:radial-gradient(at 30% 20%,#00ffff14 0%,#0000 50%),radial-gradient(at 70% 80%,#8b5cf60f 0%,#0000 50%);position:absolute;top:0;bottom:0;left:0;right:0}@keyframes dashboardSlideIn{0%{opacity:0;filter:blur(20px);transform:translate(100px)scale(.95)}60%{opacity:1;filter:blur(3px)}80%{filter:blur();transform:translate(-15px)scale(1.01)}92%{transform:translate(5px)scale(1)}to{opacity:1;filter:blur();transform:translate(0)scale(1)}}@keyframes floatingBob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.dashboard-header{justify-content:space-between;align-items:center;gap:clamp(.25rem, 1.2vw, var(--space-md));padding:0 var(--space-xl);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--border-subtle);min-width:0;min-height:70px;display:flex;position:relative}.header-left{align-items:center;gap:clamp(.35rem, 1.4vw, var(--space-md));flex:auto;min-width:0;display:flex;overflow:hidden}.tool-icon{flex:none;font-size:clamp(18px,4vw,28px)}.dashboard-header h1,#dashboard-title{text-overflow:ellipsis;white-space:nowrap;letter-spacing:0;min-width:0;color:var(--text-primary);background:0 0;-webkit-background-clip:initial;-webkit-text-fill-color:currentColor;background-clip:initial;flex:auto;font-size:clamp(15px,3.5vw,24px);font-weight:300;overflow:hidden}.header-right{align-items:center;gap:clamp(.25rem, 1vw, var(--space-lg));flex:0 auto;min-width:0;max-width:min(62%,720px);display:flex}.data-timestamp{font-size:var(--text-sm);color:var(--text-secondary);opacity:.7}.btn-refresh,.btn-close{background:var(--glass-regular);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-regular-border);color:var(--text-primary);border-radius:var(--radius-full);cursor:pointer;width:44px;height:44px;font-size:var(--text-lg);transition:all var(--liquid-normal);box-shadow:var(--crystal-shadow), var(--glass-inner-glow);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.btn-refresh:before,.btn-close:before{content:"";background:var(--glass-highlight);opacity:0;transition:opacity var(--liquid-fast);border-radius:inherit;position:absolute;top:0;bottom:0;left:0;right:0}.btn-refresh:hover,.btn-close:hover{background:var(--glass-regular);color:var(--primary-neon);box-shadow:0 8px 25px var(--primary-neon-glow), var(--glass-inner-glow);border-color:var(--primary-neon);text-shadow:0 0 10px var(--primary-neon);transform:translateY(-2px)}.btn-refresh:hover:before,.btn-close:hover:before{opacity:1}.btn-refresh:active,.btn-close:active{transition:transform var(--transition-fast);transform:translateY(0)}.btn-refresh:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn-close:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.dashboard-actions-desktop{align-items:center;gap:clamp(.25rem,.8vw,.5rem);min-width:0;display:flex}.dashboard-actions-mobile{z-index:var(--z-nav);flex:none;display:none;position:relative}.dashboard-hamburger-btn{background:var(--glass-regular);width:44px;min-width:44px;height:44px;min-height:44px;-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-regular-border);border-radius:var(--radius-full);cursor:pointer;transition:background var(--liquid-fast), border-color var(--liquid-fast), box-shadow var(--liquid-fast);box-shadow:var(--crystal-shadow), var(--glass-inner-glow);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:10px;display:flex}.dashboard-hamburger-btn .hamburger-line{background:var(--text-primary);width:18px;height:2px;transition:transform var(--liquid-fast), opacity var(--liquid-fast), background var(--liquid-fast);border-radius:1px}.dashboard-hamburger-btn:hover{background:var(--glass-regular);border-color:var(--primary-neon);box-shadow:0 4px 15px var(--primary-neon-glow), var(--glass-inner-glow)}.dashboard-hamburger-btn:hover .hamburger-line{background:var(--primary-neon)}.dashboard-hamburger-btn[aria-expanded=true] .hamburger-line:first-child{transform:rotate(45deg)translate(4px,4px)}.dashboard-hamburger-btn[aria-expanded=true] .hamburger-line:nth-child(2){opacity:0}.dashboard-hamburger-btn[aria-expanded=true] .hamburger-line:nth-child(3){transform:rotate(-45deg)translate(4px,-4px)}.dashboard-actions-menu{min-width:176px;max-width:calc(100vw - var(--safe-area-left) - var(--safe-area-right) - 16px);max-height:calc(100dvh - var(--safe-area-top) - var(--safe-area-bottom) - 16px);background:var(--surface-modal);-webkit-backdrop-filter:var(--glass-blur-heavy);border:1px solid var(--glass-regular-border);border-radius:var(--radius-lg);box-shadow:var(--crystal-shadow), 0 8px 32px #0000004d;z-index:calc(var(--z-dashboard) + 10);padding:8px;animation:.16s ease-out menuSlideIn;display:none;position:fixed;overflow:auto}.dashboard-actions-menu.open{flex-direction:column;gap:4px;display:flex}@keyframes menuSlideIn{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.action-menu-item{border-radius:var(--radius-md);width:100%;min-height:44px;color:var(--text-primary);cursor:pointer;transition:background var(--liquid-fast), color var(--liquid-fast), transform var(--liquid-fast);text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:10px 14px;font-size:.9375rem;font-weight:500;display:flex}.action-menu-item:hover{background:var(--glass-regular-inner);color:var(--primary-neon)}.action-menu-item:active{transform:scale(.98)}.action-menu-item svg{color:var(--text-secondary);transition:color var(--liquid-fast);flex-shrink:0}.action-menu-item:hover svg{color:var(--primary-neon)}.dashboard-content{--dashboard-viz-height:clamp(320px, 60vh, 680px);--dashboard-viz-min-height:clamp(240px, 42vh, 360px);--chart-plot-share-desktop:.7;--chart-plot-share-mobile:.6;--chart-plot-min-height-desktop:var(--dashboard-viz-min-height);--chart-plot-min-height-mobile:clamp(180px, 34vh, 260px);--heatmap-cell-min-size:clamp(34px, 3.4vw, 44px);--heatmap-label-size:clamp(10px, .85vw, 12px);padding:clamp(var(--space-sm), 3vw, var(--space-xl));min-width:0;overflow:auto}.dashboard-content::-webkit-scrollbar{width:8px}.dashboard-content::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}.dashboard-content::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:padding-box;border:2px solid #0000;border-radius:4px}.dashboard-content::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.dashboard-footer{padding:0 var(--space-xl);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;min-height:60px;display:flex;position:relative}.footer-info{font-size:var(--text-sm);color:var(--text-on-glass,#b8c4e0);opacity:.85;font-weight:300}.footer-actions{gap:var(--space-md);display:flex}.kpi-grid{gap:var(--space-lg);margin-bottom:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.kpi-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-xl);text-align:center;transition:all var(--liquid-normal);justify-content:center;gap:var(--space-sm);min-height:130px;box-shadow:var(--elevation-2), var(--glass-inner-glow);animation:kpiSlideIn var(--liquid-slow) ease-out backwards;flex-direction:column;display:flex;position:relative;overflow:hidden}.kpi-card:first-child{animation-delay:.1s}.kpi-card:nth-child(2){animation-delay:.2s}.kpi-card:nth-child(3){animation-delay:.3s}.kpi-card:nth-child(4){animation-delay:.4s}@keyframes kpiSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes floatingBobSubtle{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.kpi-card:hover{background:var(--glass-bg-hover);box-shadow:var(--elevation-3), var(--glow-primary);border-color:var(--accent-primary);transform:translateY(-6px)scale(1.02)}.kpi-card:focus-visible{border-color:var(--color-border-active);box-shadow:var(--focus-ring);outline:none}.kpi-value{margin-bottom:var(--space-sm);justify-content:center;align-items:center;gap:var(--space-sm);font-size:36px;font-weight:300;display:flex;position:relative}.kpi-label{font-size:var(--text-sm);color:var(--text-secondary,#b8c4e0);text-transform:uppercase;letter-spacing:0;font-weight:400}.trend{opacity:.8;font-size:20px}.trend-up{color:var(--success-neon,#00f6a5);text-shadow:var(--success-neon-shadow,0 0 8px #00f6a566)}.trend-down{color:var(--error-neon);text-shadow:0 0 8px #ff475766}.trend-stable{color:var(--warning-neon);text-shadow:0 0 8px #ffb80066}.kpi-blue .kpi-value{color:var(--primary-neon);text-shadow:0 0 15px var(--primary-neon-glow)}.kpi-green .kpi-value{color:var(--success-neon,#00f6a5);text-shadow:var(--success-neon-shadow,0 0 15px #00f6a54d)}.kpi-yellow .kpi-value{color:var(--warning-neon);text-shadow:0 0 15px #ffb8004d}.kpi-red .kpi-value{color:var(--error-neon);text-shadow:0 0 15px #ff47574d}.charts-row{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:clamp(12px,3vw,30px);width:100%;min-width:0;margin-bottom:clamp(12px,3vw,30px);display:grid}.chart-container{background:var(--surface-card,var(--glass-bg));-webkit-backdrop-filter:blur(20px);border:var(--chart-card-border-width,1px) solid var(--chart-surface-border,var(--border-default));border-radius:var(--chart-card-radius,var(--radius-lg));padding:var(--chart-card-padding,clamp(var(--space-sm), 3vw, var(--space-lg)));min-height:calc(var(--dashboard-viz-min-height) + clamp(1.5rem, 3vh, 3rem));box-shadow:var(--elevation-1), var(--glass-inner-glow);animation:chartSlideIn var(--liquid-slow) ease-out backwards;row-gap:var(--chart-card-gap,var(--space-sm));grid-template-rows:auto minmax(0,1fr);min-width:0;display:grid;position:relative;overflow:hidden;container:chart/inline-size}.chart-container:first-child{animation-delay:.5s}.chart-container:nth-child(2){animation-delay:.65s}.chart-container:nth-child(3){animation-delay:.8s}.chart-container:nth-child(4){animation-delay:.95s}@keyframes chartSlideIn{0%{opacity:0;filter:blur(12px);transform:translate(80px)scale(.95)}75%{transform:translate(-10px)scale(1.01)}92%{transform:translate(4px)scale(1)}to{opacity:1;filter:blur();transform:translate(0)scale(1)}}.chart-container:hover{background:var(--surface-card-hover,var(--glass-bg-hover));box-shadow:var(--elevation-2), var(--glow-primary);border-color:var(--accent-primary)}.chart-container:focus-within{box-shadow:var(--chart-focus-ring,0 0 0 3px #00ffff52), var(--elevation-2);border-color:var(--accent-primary)}.chart-container h3{font-size:var(--chart-title-size,var(--text-lg));font-weight:var(--chart-font-weight-medium,500);color:var(--text-primary);letter-spacing:0;margin:0;line-height:1.25}.chart-data-notice{border:1px solid color-mix(in srgb, var(--accent-primary) 28%, transparent);width:-moz-fit-content;width:fit-content;max-width:100%;color:var(--text-secondary);background:color-mix(in srgb, var(--surface-card,#0f172ae6) 86%, transparent);font-size:var(--text-sm);overflow-wrap:anywhere;border-radius:6px;padding:6px 10px;line-height:1.35}.chart-data-notice-deep{border-color:color-mix(in srgb, var(--success-neon,#0fa) 36%, transparent);color:var(--text-primary)}.chart-canvas-wrapper{min-width:0;min-height:max(var(--chart-plot-min-height-desktop), calc((var(--dashboard-viz-min-height) + clamp(1.5rem, 3vh, 3rem)) * var(--chart-plot-share-desktop)));height:min(100%, var(--dashboard-viz-height));max-height:min(var(--dashboard-viz-height), calc(100dvh - 220px));border-radius:calc(var(--chart-card-radius,var(--radius-lg)) - 4px);background:var(--chart-surface,#0f172a59);border:1px solid color-mix(in srgb, var(--chart-surface-border,var(--border-default)) 75%, transparent);padding:0;position:relative;overflow:hidden}.chart-canvas-wrapper canvas{max-height:none;display:block;width:100%!important;max-width:100%!important;height:100%!important}.chart-canvas-wrapper.radial-chart{justify-content:center;align-items:center;padding:0;display:flex}.chart-canvas-wrapper.radial-chart canvas{max-width:100%;max-height:none}.distribution-summary-wrapper{align-content:start;gap:var(--space-sm);padding:var(--space-sm);display:grid;overflow:auto}.map-container,.sankey-container{row-gap:var(--chart-card-gap,var(--space-sm));grid-template-rows:auto minmax(0,1fr);display:grid}.plotly-canvas-wrapper,.sankey-canvas-wrapper{min-width:0;min-height:max(var(--chart-plot-min-height-desktop), calc((var(--dashboard-viz-min-height) + clamp(1.5rem, 3vh, 3rem)) * var(--chart-plot-share-desktop)));height:min(100%, var(--dashboard-viz-height));max-height:min(var(--dashboard-viz-height), calc(100dvh - 220px));border-radius:calc(var(--chart-card-radius,var(--radius-lg)) - 4px);background:var(--chart-surface,#0f172a59);border:1px solid color-mix(in srgb, var(--chart-surface-border,var(--border-default)) 75%, transparent);overflow:hidden}.plotly-chart-surface,#map-plot,#sankey-plot{width:100%;height:100%;min-height:0}.plotly-chart-surface .js-plotly-plot,.plotly-chart-surface .plot-container,.plotly-chart-surface .svg-container{width:100%!important;height:100%!important}@container chart (width<=350px){.chart-container h3{white-space:nowrap;text-overflow:ellipsis;font-size:clamp(13px,3.2vw,14px);overflow:hidden}.chart-canvas-wrapper,.plotly-canvas-wrapper,.sankey-canvas-wrapper{min-height:max(var(--chart-plot-min-height-mobile), calc((var(--dashboard-viz-min-height) + clamp(1.5rem, 3vh, 3rem)) * var(--chart-plot-share-mobile)))}.chart-canvas-wrapper canvas,.plotly-chart-surface,#map-plot,#sankey-plot{max-height:none}.chart-legend{display:none}}@container chart (width>=350px) and (width<=500px){.chart-container h3{font-size:clamp(14px,2.6vw,16px)}.chart-canvas-wrapper,.plotly-canvas-wrapper,.sankey-canvas-wrapper{min-height:max(var(--chart-plot-min-height-mobile), calc((var(--dashboard-viz-min-height) + clamp(1.5rem, 3vh, 3rem)) * var(--chart-plot-share-mobile)))}.chart-canvas-wrapper canvas,.plotly-chart-surface,#map-plot,#sankey-plot{max-height:none}}@container chart (width>=500px){.chart-container h3{font-size:var(--chart-title-size,var(--text-lg))}.chart-canvas-wrapper,.plotly-canvas-wrapper,.sankey-canvas-wrapper{min-height:max(var(--chart-plot-min-height-desktop), calc((var(--dashboard-viz-min-height) + clamp(1.5rem, 3vh, 3rem)) * var(--chart-plot-share-desktop)))}.chart-canvas-wrapper canvas,.plotly-chart-surface,#map-plot,#sankey-plot{max-height:none}}@media (max-width:480px){.chart-container{border-radius:var(--radius-md);padding:var(--space-sm)}.chart-container h3{letter-spacing:0;font-size:clamp(13px,3.4vw,15px)}.chart-canvas-wrapper,.plotly-canvas-wrapper,.sankey-canvas-wrapper{min-height:max(var(--chart-plot-min-height-mobile), calc((var(--dashboard-viz-min-height) + clamp(1.5rem, 3vh, 3rem)) * var(--chart-plot-share-mobile)))}.chart-canvas-wrapper canvas,.plotly-chart-surface,#map-plot,#sankey-plot,.chart-canvas-wrapper.radial-chart canvas{max-height:none}.charts-row{gap:var(--space-sm);margin-bottom:var(--space-sm)}}@media (prefers-reduced-motion:reduce),(hover:none) and (pointer:coarse){.chart-container,.kpi-card,.metric-card,.table-container,.data-table,.project-tracker{filter:none!important;animation:none!important;transform:none!important}}@media (orientation:landscape) and (max-height:500px){.dashboard-panel{grid-template-rows:minmax(42px,auto) 1fr minmax(36px,auto)}.dashboard-header{min-height:42px;padding-right:max(var(--space-sm), var(--safe-area-right));padding-left:max(var(--space-sm), var(--safe-area-left))}.dashboard-actions-desktop,.data-timestamp{display:none}.dashboard-actions-mobile{display:block}.header-right{gap:var(--space-xs);flex:none;max-width:none}.dashboard-hamburger-btn,.btn-close{width:36px;min-width:36px;height:36px;min-height:36px}.tool-icon{font-size:16px}.dashboard-content{--dashboard-viz-height:clamp(160px, 44vh, 260px);--dashboard-viz-min-height:clamp(120px, 34vh, 190px);--chart-plot-min-height-desktop:clamp(110px, 32vh, 170px);--chart-plot-min-height-mobile:clamp(100px, 30vh, 150px);--heatmap-cell-min-size:clamp(24px, 4vw, 32px);--heatmap-label-size:10px}.chart-container{min-height:clamp(128px,42vh,190px);padding:var(--space-sm)}.chart-canvas-wrapper,.plotly-canvas-wrapper,.sankey-canvas-wrapper{min-height:clamp(108px,38vh,160px)}.chart-canvas-wrapper canvas{max-height:none}.dashboard-content{padding:var(--space-sm)}.charts-row{gap:var(--space-sm);margin-bottom:var(--space-sm)}}.chart-loading,.chart-error{padding:var(--space-lg);text-align:center;font-size:var(--text-sm);color:var(--text-secondary);background:var(--surface-modal);border:1px solid var(--chart-surface-border);-webkit-backdrop-filter:blur(10px);border-radius:var(--radius-lg);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.chart-error{color:var(--status-error-text);background:color-mix(in srgb, var(--surface-modal) 88%, var(--status-error-muted));border-color:color-mix(in srgb, var(--status-error-text) 40%, transparent);font-weight:500}.insights-section{background:var(--content-surface);border-radius:var(--radius-lg);padding:var(--space-lg);border:1px solid #00ffff4d;position:relative;overflow:hidden;box-shadow:0 4px 20px #00ffff14,inset 0 1px #ffffffe6}.insights-section h3{font-size:var(--text-lg);margin-bottom:var(--space-md);color:var(--primary-neon);text-shadow:0 0 10px var(--primary-neon-glow);font-weight:500}.insights-list{list-style:none}.insights-list li{padding:var(--space-sm) 0;color:var(--text-primary);border-bottom:1px solid #0000000d}.insights-list li:last-child{border-bottom:none}.control-tower{height:100%}.tower-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.live-indicator{color:var(--accent-neon);animation:pulse 2s var(--liquid-normal) infinite;align-items:center;gap:var(--space-sm);text-shadow:0 0 8px #00ff884d;display:inline-flex}.live-indicator:before{content:"";width:var(--space-sm);height:var(--space-sm);border-radius:var(--radius-full);animation:pulse 2s var(--transition-normal) infinite;background:currentColor}.tower-grid{grid-template-rows:1fr 1fr;grid-template-columns:2fr 1fr;gap:20px;height:calc(100% - 60px);display:grid}.map-section{background:#0000004d;border:1px solid #4a52c733;border-radius:12px;grid-row:span 2;overflow:hidden}.operations-map{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.map-placeholder{text-align:center;color:var(--text-secondary);font-weight:300}.metrics-section,.exceptions-section{background:#ffffff05;border:1px solid #ffffff1a;border-radius:12px;padding:20px}.live-metrics{grid-template-columns:1fr 1fr;gap:15px;display:grid}.metric-item{text-align:center;padding:var(--space-md);background:var(--glass-regular);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-regular-border);border-radius:var(--radius-md);transition:all var(--liquid-normal);box-shadow:var(--crystal-shadow), var(--glass-inner-glow);position:relative;overflow:hidden}.metric-item:hover{background:var(--glass-regular);border-color:var(--primary-neon);box-shadow:0 8px 25px var(--primary-neon-glow), var(--glass-inner-glow);transform:translateY(-3px)}.metric-value{font-size:var(--text-xl);color:var(--primary-neon);margin-bottom:var(--space-xs);text-shadow:0 0 10px var(--primary-neon-glow);font-weight:300;display:block}.metric-label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:300}.exceptions-queue{max-height:200px;overflow-y:auto}.exception-item{align-items:center;gap:var(--space-md);padding:var(--space-md);margin-bottom:var(--space-sm);background:var(--surface);-webkit-backdrop-filter:var(--backdrop-blur);border-radius:var(--radius-md);transition:all var(--transition-normal);border-left:3px solid;display:flex}.exception-item:hover{background:var(--surface-hover);transform:translate(4px)}.exception-item.level-3{border-left-color:var(--error-neon);background:#ff47570d}.exception-item.level-2{border-left-color:var(--warning-neon);background:#ffb8000d}.exception-item.level-1{border-left-color:var(--accent-neon);background:#00ff880d}.exception-icon{font-size:16px}.exception-text{font-size:var(--text-sm);color:var(--text-primary);flex:1}.exception-city{font-size:var(--text-xs);color:var(--text-secondary);padding:var(--space-xs) var(--space-sm);background:var(--surface-hover);border-radius:var(--radius-sm)}.funnel-analysis,.heatmap-analysis{background:#ffffff05;border-radius:12px;padding:20px}.leaderboard-table{border-collapse:separate;border-spacing:0;-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-md);background:#ffffff14;border:1px solid #64b4ff1f;width:100%}.leaderboard-table th{-webkit-backdrop-filter:blur(20px);padding:var(--space-sm);text-align:left;color:var(--text-on-glass,#e8edff);background:#6496ff1f;border-bottom:1px solid #64b4ff26;font-weight:500}.leaderboard-table td{padding:var(--space-sm);color:var(--text-on-glass,#e8edff);transition:background var(--liquid-fast);background:0 0;border-bottom:1px solid #6496ff14}.leaderboard-table tr:hover td{background:#00b4ff1f}.orders-table{border-collapse:collapse;background:#0003;border-radius:8px;width:100%;overflow:hidden}.orders-table th{text-align:left;background:#4a52c74d;padding:12px;font-size:14px;font-weight:400}.orders-table td{border-bottom:1px solid #ffffff0d;padding:12px;font-size:14px}.timeline-track{padding:20px;position:relative}.timeline-item{background:#ffffff0d;border-left:3px solid #4a52c780;border-radius:4px;margin-bottom:10px;padding:10px}.timeline-item.active{background:var(--surface-hover);border-left-color:var(--primary)}body.orb-minimized #canvas{pointer-events:none}body.orb-minimized .instruction{opacity:0}.delivery-tracker-panel{gap:var(--space-lg);flex-direction:column;display:flex}.delivery-toolbar{gap:var(--space-lg);background:var(--glass-strong);padding:var(--space-md);border-radius:var(--radius-lg);border:1px solid var(--glass-regular-border);flex-wrap:wrap;align-items:flex-end;display:flex}.delivery-toolbar-group{gap:var(--space-sm);flex-direction:column;display:flex}.toolbar-select-row{align-items:center;gap:var(--space-sm);display:flex}.delivery-select{padding:var(--space-sm);border-radius:var(--radius-md);border:1px solid var(--glass-regular-border);background:var(--content-surface);color:var(--text-primary);font-weight:500}.delivery-pill{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-capsule);border:1px solid var(--glass-regular-border);background:var(--content-surface);color:var(--text-primary);cursor:pointer;transition:all var(--liquid-normal);font-weight:500;display:inline-flex}.delivery-pill input[type=checkbox]{display:none}.delivery-pill.active,.delivery-pill:focus-within,.delivery-pill[data-direction=desc]{border-color:var(--primary-neon);color:var(--primary-neon);box-shadow:var(--glow-primary)}.delivery-status-pills{gap:var(--space-sm);flex-wrap:wrap;display:flex}.delivery-tracker{flex-direction:column;gap:20px;padding:20px;display:flex}.delivery-item{background:var(--content-surface);border:1px solid var(--glass-regular-border);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all var(--liquid-normal);box-shadow:var(--elevation-1), var(--glass-inner-glow);margin-bottom:var(--space-lg);position:relative;overflow:hidden}.delivery-item:hover{background:var(--content-surface-hover);box-shadow:var(--elevation-2), var(--glow-primary), var(--glass-inner-glow);border-color:var(--primary-neon);transform:translate(8px)scale(1.01)}.delivery-header{margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.delivery-id{font-size:var(--text-lg);color:var(--primary-neon);text-shadow:0 0 10px var(--primary-neon-glow);letter-spacing:0;font-weight:600}.delivery-eta{font-size:var(--text-sm);color:var(--text-primary);background:var(--glass-regular);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-regular-border);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-capsule);transition:all var(--liquid-normal);font-weight:500}.delivery-eta:hover{background:var(--glass-regular);color:var(--primary-neon);border-color:var(--primary-neon);box-shadow:var(--glow-primary);transform:scale(1.05)}.delivery-route{align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);font-size:var(--text-sm);color:var(--text-primary);font-weight:500;display:flex}.route-arrow{color:var(--text-secondary);font-weight:600;font-size:var(--text-lg)}.progress-container{border-radius:var(--radius-md);background:#00000014;border:1px solid #0000001a;height:28px;position:relative;overflow:hidden;box-shadow:inset 0 2px 4px #0000001a}.progress-bar{border-radius:var(--radius-md);height:100%;transition:width .8s var(--liquid-normal);background:linear-gradient(90deg, var(--primary-neon), var(--accent-neon));box-shadow:inset 0 1px 3px #0003, 0 0 15px var(--primary-neon-glow);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.progress-text{font-size:var(--text-xs);color:var(--text-inverse);text-shadow:0 1px 3px #000000b3;letter-spacing:0;font-weight:600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.delivery-empty{padding:var(--space-lg);background:var(--content-surface);border:1px dashed var(--glass-regular-border);border-radius:var(--radius-lg);text-align:center;color:var(--text-secondary)}.delivery-empty-subtitle{margin-top:var(--space-xs);font-size:var(--text-sm);color:var(--text-primary)}.table-container{animation:tableSlideIn var(--liquid-slow) ease-out backwards;padding:20px;animation-delay:.7s;overflow-x:auto}@keyframes tableSlideIn{0%{opacity:0;filter:blur(8px);transform:translate(60px)}75%{transform:translate(-8px)}92%{transform:translate(3px)}to{opacity:1;filter:blur();transform:translate(0)}}.data-table{border-collapse:separate;border-spacing:0;background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);border:1px solid var(--border-default);width:100%;min-width:640px;box-shadow:var(--elevation-2);overflow:hidden}.data-table th{background:var(--glass-bg-hover);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-default);padding:var(--space-md);text-align:left;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:0;color:var(--text-primary);z-index:10;font-weight:500;position:sticky;top:0}.data-table td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm);color:var(--text-primary);transition:background var(--liquid-fast);background:0 0}.data-table tr{transition:all var(--liquid-fast)}.data-table tr:hover td{background:var(--interactive-hover-bg)}.data-table tr:last-child td{border-bottom:none}[data-theme=light] .dashboard-panel{background:var(--surface-modal);box-shadow:var(--crystal-shadow), 0 0 0 1px var(--border-subtle), var(--glass-inner-glow)}[data-theme=light] .dashboard-backdrop{background:var(--bg-overlay)}[data-theme=light] .kpi-card,[data-theme=light] .chart-container{background:var(--surface-card);border-color:var(--border-subtle);box-shadow:var(--elevation-1), var(--glass-inner-glow)}[data-theme=light] .kpi-card:hover,[data-theme=light] .chart-container:hover{background:var(--surface-card-hover);border-color:var(--accent-primary);box-shadow:var(--elevation-2), var(--glow-primary), var(--glass-inner-glow)}[data-theme=light] .data-table th{background:var(--bg-surface);border-color:var(--border-default);color:var(--text-primary)!important}[data-theme=light] .data-table td{background:var(--surface-card);border-color:var(--border-subtle);color:var(--text-primary)!important}[data-theme=light] .data-table tr:hover td{background:var(--interactive-hover-bg);color:var(--text-primary)!important}[data-theme=light] .data-table .sort-icon{color:var(--text-muted)!important}[data-theme=light] .table-container,[data-theme=light] .dashboard-content h2,[data-theme=light] .dashboard-content h3,[data-theme=light] .chart-container h3{color:var(--text-primary)!important}[data-theme=dark] .data-timestamp{color:var(--text-secondary)}[data-theme=dark] .btn-refresh,[data-theme=dark] .btn-close{color:var(--text-primary)}[data-theme=dark] .btn-refresh:hover,[data-theme=dark] .btn-close:hover{color:var(--primary-neon)}[data-theme=dark] .dashboard-hamburger-btn{background:var(--surface-dropdown);border-color:var(--border-strong)}[data-theme=dark] .dashboard-hamburger-btn:hover{background:var(--surface-card-hover);border-color:var(--primary-neon)}[data-theme=dark] .dashboard-hamburger-btn .hamburger-line{background:var(--text-primary)}[data-theme=dark] .dashboard-actions-menu{background:var(--surface-dropdown);border-color:var(--border-default)}[data-theme=dark] .action-menu-item{color:var(--text-primary)}[data-theme=dark] .action-menu-item svg{color:var(--text-secondary)}[data-theme=dark] .action-menu-item:hover{color:var(--primary-neon);background:#00ffff26}[data-theme=dark] .action-menu-item:hover svg{color:var(--primary-neon)}[data-theme=dark] .chart-container h3,[data-theme=dark] .dashboard-content h2,[data-theme=dark] .dashboard-content h3{color:var(--text-primary)}[data-theme=dark] .kpi-label{color:var(--text-secondary)}[data-theme=dark] .data-table th{color:var(--text-primary);background:var(--surface-elevated)}[data-theme=dark] .data-table td,[data-theme=dark] .data-table tr:hover td,[data-theme=dark] .table-container{color:var(--text-primary)}[data-theme=dark] .data-table .sort-icon{color:var(--text-muted)}@media (max-width:1024px){.dashboard-panel{width:95vw;height:95vh;height:95dvh}.dashboard-header,.dashboard-footer{padding:0 var(--space-lg)}.dashboard-content{--dashboard-viz-height:clamp(300px, 58vh, 600px);--dashboard-viz-min-height:clamp(220px, 40vh, 320px);--chart-plot-min-height-desktop:clamp(200px, 36vh, 300px);--chart-plot-min-height-mobile:clamp(170px, 32vh, 240px);--heatmap-cell-min-size:clamp(32px, 3.6vw, 42px);--heatmap-label-size:clamp(9px, 1vw, 11px);padding:clamp(var(--space-sm), 2.5vw, var(--space-lg))}.kpi-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}}@media (max-width:768px){.dashboard-panel{width:100vw;height:100vh;border-radius:0;height:100dvh}.dashboard-actions-desktop,.data-timestamp{display:none}.dashboard-actions-mobile{display:block}.ai-title{font-size:var(--text-xl)}.dashboard-header{min-height:56px;padding:0 max(var(--space-md), var(--safe-area-right));padding-left:max(var(--space-md), var(--safe-area-left));gap:var(--space-sm);overflow:hidden}.dashboard-footer{padding:0 var(--space-md)}.header-left{gap:.5rem}.header-right{flex:none;gap:.5rem;max-width:none}.dashboard-content{--dashboard-viz-height:clamp(260px, 52vh, 460px);--dashboard-viz-min-height:clamp(200px, 36vh, 300px);--chart-plot-min-height-desktop:clamp(180px, 34vh, 260px);--chart-plot-min-height-mobile:clamp(160px, 32vh, 230px);--heatmap-cell-min-size:clamp(30px, 6vw, 40px);--heatmap-label-size:clamp(9px, 1.8vw, 11px);padding:var(--space-sm)}.kpi-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}.kpi-card{padding:var(--space-md);min-height:90px}.charts-row{gap:var(--space-md);margin-bottom:var(--space-md);grid-template-columns:1fr}.tower-grid{gap:var(--space-md);grid-template-rows:repeat(4,auto);grid-template-columns:1fr}.map-section{grid-row:span 1;min-height:250px}.btn-refresh,.btn-close{width:40px;min-width:40px;height:40px;min-height:40px}}@media (max-width:640px){.table-container{max-width:100%;padding:var(--space-sm);overflow-x:auto}.data-table{min-width:max(520px,100%)}}@media (max-width:480px){.dashboard-panel{width:100vw;height:100vh;border-radius:0;max-width:none;height:100dvh}.dashboard-content{--dashboard-viz-height:clamp(220px, 48vh, 380px);--dashboard-viz-min-height:clamp(170px, 32vh, 250px);--chart-plot-min-height-desktop:clamp(150px, 32vh, 220px);--chart-plot-min-height-mobile:clamp(140px, 30vh, 200px);--heatmap-cell-min-size:clamp(26px, 7.5vw, 34px);--heatmap-label-size:clamp(8px, 2.6vw, 10px);padding:var(--space-xs)}.instruction{bottom:var(--space-lg);font-size:var(--text-xs);padding:var(--space-xs) var(--space-md)}.kpi-grid{gap:var(--space-xs);grid-template-columns:1fr}.charts-row{gap:var(--space-xs);margin-bottom:var(--space-xs)}.dashboard-header h1,#dashboard-title{font-size:var(--text-lg);letter-spacing:0}.tool-icon{font-size:clamp(16px,5vw,20px)}.dashboard-header,.dashboard-footer{padding:0 max(var(--space-sm), var(--safe-area-right));padding-left:max(var(--space-sm), var(--safe-area-left));min-height:52px}.data-table{min-width:max(440px,100%);font-size:var(--text-sm)}.data-table th,.data-table td{padding:var(--space-sm)}.data-table th{font-size:var(--text-xs);letter-spacing:0}}@media (max-width:360px){.dashboard-header{min-height:46px;padding-right:max(4px, var(--safe-area-right));padding-left:max(4px, var(--safe-area-left));gap:4px}.header-left,.header-right{gap:4px}.dashboard-header h1,#dashboard-title{font-size:14px}.dashboard-hamburger-btn,.btn-close{width:40px;min-width:40px;height:40px;min-height:40px}.dashboard-hamburger-btn .hamburger-line{width:16px}}@media (max-width:300px){.dashboard-header{min-height:40px;padding-right:max(2px, var(--safe-area-right));padding-left:max(2px, var(--safe-area-left));gap:2px}.dashboard-hamburger-btn,.btn-close{width:36px;min-width:36px;height:36px;min-height:36px}.dashboard-hamburger-btn .hamburger-line{width:14px}.dashboard-header h1,#dashboard-title{font-size:13px}}.loading{pointer-events:none;opacity:.6;position:relative}.loading:after{content:"";border:2px solid var(--border);border-top:2px solid var(--primary);border-radius:var(--radius-full);z-index:1000;width:20px;height:20px;animation:1s linear infinite spin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.error-state{padding:var(--space-2xl);color:var(--error);text-align:center;justify-content:center;align-items:center;gap:var(--space-md);flex-direction:column;display:flex}.error-state .error-icon{font-size:var(--text-2xl);opacity:.7}.error-state .error-message{font-size:var(--text-lg);margin-bottom:var(--space-sm);font-weight:500}.error-state .error-details{font-size:var(--text-sm);color:var(--text-muted);max-width:400px}.empty-state{padding:var(--space-2xl);color:var(--text-muted);text-align:center;justify-content:center;align-items:center;gap:var(--space-md);flex-direction:column;display:flex}.empty-state .empty-icon{font-size:var(--text-2xl);opacity:.5}.empty-state .empty-message{font-size:var(--text-lg);margin-bottom:var(--space-sm)}.empty-state .empty-details{font-size:var(--text-sm);max-width:400px}.retry-button{background:var(--primary-neon);color:var(--text-inverse);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;transition:all var(--liquid-normal);margin-top:var(--space-md);box-shadow:var(--glow-primary);text-shadow:none;border:none;font-weight:500}.retry-button:hover{background:var(--primary-neon);box-shadow:var(--glow-primary-strong), var(--elevation-2);filter:brightness(1.1);transform:translateY(-2px)}.retry-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.orb-as-mic #canvas-container{z-index:10001!important;cursor:pointer!important;width:80px!important;height:80px!important;position:fixed!important;bottom:30px!important;right:30px!important}.orb-minimized #canvas-container{transition:all .5s cubic-bezier(.4,0,.2,1)}.kpi-enhanced{gap:var(--space-sm);flex-direction:column;display:flex}.kpi-header{justify-content:space-between;align-items:flex-start;display:flex}.kpi-target{font-size:var(--text-xs);color:var(--text-secondary,#b8c4e0);font-weight:500}.kpi-value-row{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.kpi-main-value{font-size:var(--text-2xl);color:var(--text-primary,#f0f4ff);align-items:center;gap:var(--space-sm);font-weight:700;display:flex}.kpi-delta{font-size:var(--text-sm);border-radius:var(--radius-sm);padding:4px 8px;font-weight:600}.kpi-delta.positive{color:var(--accent-neon);background:#00ff881a}.kpi-delta.negative{color:var(--error-neon);background:#ff47571a}.kpi-sparkline-container{width:100%;height:40px;margin-top:var(--space-xs);border-radius:var(--radius-sm);background:#00000005;overflow:hidden}.kpi-sparkline{width:100%;height:100%}.heatmap-wrapper{gap:clamp(var(--space-sm), 1.8vh, var(--space-lg));flex-direction:column;padding:0;display:flex}.heatmap-wrapper h3{font-size:var(--text-lg);color:var(--text-primary);text-align:center;font-weight:600}.heatmap-container{padding:clamp(var(--space-xs), 1.6vw, var(--space-md));background:var(--content-surface);border-radius:var(--radius-lg);box-shadow:var(--crystal-shadow);-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;width:100%;max-width:100%;max-height:var(--dashboard-viz-height);gap:4px;display:grid;overflow:auto}.heatmap-label-cell{padding:clamp(3px, .8vw, var(--space-sm));font-size:var(--heatmap-label-size);color:var(--text-secondary);text-transform:uppercase;letter-spacing:0;justify-content:center;align-items:center;font-weight:600;display:flex}.heatmap-x-label{border-bottom:2px solid var(--glass-regular-border)}.heatmap-y-label{border-right:2px solid var(--glass-regular-border);text-align:right;justify-content:flex-end}.heatmap-cell{aspect-ratio:1;min-width:var(--heatmap-cell-min-size);min-height:var(--heatmap-cell-min-size);border-radius:var(--radius-sm);color:var(--text-primary);text-shadow:0 1px 2px #00000080;transition:all var(--liquid-fast);cursor:pointer;justify-content:center;align-items:center;font-size:clamp(10px,2.2vw,13px);font-weight:600;display:flex;position:relative;overflow:hidden}.heatmap-cell-static{cursor:default}.heatmap-cell-missing{color:var(--text-secondary);text-shadow:none;border:1px dashed var(--glass-regular-border)}.heatmap-cell-missing:hover{box-shadow:none;z-index:auto;transform:none}.heatmap-cell:before{content:"";opacity:0;transition:opacity var(--liquid-fast);background:linear-gradient(135deg,#fff3 0%,#0000 60%);position:absolute;top:0;bottom:0;left:0;right:0}.heatmap-cell:hover{box-shadow:var(--elevation-3);z-index:10;transform:scale(1.15)}.heatmap-cell:hover:before{opacity:1}.heatmap-cell-value{z-index:1;position:relative}.heatmap-notice{margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md);border:1px solid var(--glass-regular-border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);background:var(--glass-regular)}.heatmap-warning{border-color:var(--color-warning-muted);color:var(--color-warning);background:color-mix(in srgb, var(--color-warning-muted) 18%, transparent)}.heatmap-container.heatmap-large-mode .heatmap-cell{min-width:max(20px, calc(var(--heatmap-cell-min-size) * .72));min-height:max(20px, calc(var(--heatmap-cell-min-size) * .72));text-shadow:none;font-size:11px;transition:none}.heatmap-container.heatmap-large-mode .heatmap-cell:before{display:none}.heatmap-container.heatmap-large-mode .heatmap-cell:hover{box-shadow:none;z-index:auto;transform:none}.heatmap-legend{justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-md);flex-wrap:wrap;display:flex}.heatmap-drilldown-panel{margin-top:clamp(var(--space-sm), 1.8vh, var(--space-lg));padding:clamp(var(--space-sm), 1.8vh, var(--space-lg));background:var(--glass-strong);border-radius:var(--radius-lg);border:1px solid var(--glass-regular-border)}.heatmap-drilldown-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.heatmap-drilldown-title{font-size:var(--text-md);color:var(--text-primary);font-weight:600}.heatmap-drilldown-subtitle{font-size:var(--text-sm);color:var(--text-secondary)}.heatmap-drilldown-value{font-size:var(--text-xl);color:var(--primary-neon);font-weight:700}.heatmap-drilldown-list{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.heatmap-drilldown-list li{border-bottom:1px solid var(--glass-regular-border);padding-bottom:var(--space-xs);justify-content:space-between;display:flex}.drilldown-detail-label{color:var(--text-primary);font-weight:600}.drilldown-detail-value{color:var(--text-secondary)}.heatmap-drilldown-empty{color:var(--text-secondary);font-style:italic}.sankey-toolbar{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--glass-regular);border-radius:var(--radius-lg);flex-wrap:wrap;display:flex}.sankey-toggle{gap:var(--space-xs);color:var(--text-primary);align-items:center;font-weight:600;display:flex}.sankey-toggle input{width:20px;height:20px}.sankey-label-helper{font-size:var(--text-sm);color:var(--text-secondary)}.sankey-stats{gap:var(--space-md);flex-direction:column;display:flex}.sankey-stats-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.sankey-stats-grid .stat-card{background:var(--content-surface);border:1px solid var(--glass-regular-border);border-radius:var(--radius-md);padding:var(--space-md)}.sankey-stats-grid .stat-label{font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:0}.sankey-stats-grid .stat-value{margin-top:var(--space-xs);font-size:var(--text-lg);color:var(--text-primary);font-weight:600}@media (max-width:768px){.sankey-toolbar,.sankey-stats{display:none}}@media (max-width:480px),(max-height:500px){.sankey-toolbar,.sankey-stats{display:none}}.top-flows h4{margin:0 0 var(--space-sm);font-size:var(--text-sm);color:var(--text-secondary)}.flow-item{gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--content-surface);border:1px solid var(--glass-regular-border);border-radius:var(--radius-md);grid-template-columns:auto 1fr auto;align-items:center;display:grid}.flow-rank{color:var(--text-secondary);font-size:var(--text-xs)}.flow-path{color:var(--text-primary);font-size:var(--text-sm)}.flow-value{color:var(--primary-neon);font-size:var(--text-sm);font-weight:600}.legend-label{font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:0;font-weight:500}.legend-gradient{border-radius:var(--radius-sm);flex:1;max-width:200px;height:20px;box-shadow:inset 0 1px 3px #0003}.table-wrapper{padding:var(--space-lg);gap:var(--space-md);flex-direction:column;display:flex}.enhanced-table th{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--liquid-fast);position:relative}.enhanced-table th:hover{background:var(--glass-regular-inner)}.sort-icon{margin-left:var(--space-xs);opacity:.5;transition:opacity var(--liquid-fast);font-size:12px}.enhanced-table th:hover .sort-icon{opacity:1}.table-pagination{justify-content:center;align-items:center;gap:var(--space-lg);padding:var(--space-md);background:var(--glass-clear);border-radius:var(--radius-lg);-webkit-backdrop-filter:var(--glass-blur);display:flex}.pagination-btn{padding:var(--space-sm) var(--space-lg);border:1px solid var(--glass-regular-border);background:var(--glass-regular);min-width:44px;min-height:44px;-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;transition:all var(--liquid-fast);box-shadow:var(--glass-inner-glow);touch-action:manipulation;-webkit-tap-highlight-color:transparent;font-weight:500}.pagination-btn:hover:not(:disabled){background:var(--glass-regular-inner);box-shadow:var(--crystal-shadow), var(--glass-inner-glow);transform:translateY(-2px)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-info{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}#current-page{color:var(--primary-neon);font-weight:700}.bullet-container{padding:clamp(var(--space-sm), 1.8vh, var(--space-lg));gap:clamp(var(--space-sm), 1.8vh, var(--space-lg));flex-direction:column;display:flex}.bullet-container h3{font-size:var(--text-lg);color:var(--text-primary);text-align:center;font-weight:600}.bullet-items{gap:clamp(var(--space-sm), 1.8vh, var(--space-lg));flex-direction:column;display:flex}.bullet-items.bullet-horizontal{max-height:min(calc(100dvh - 280px), calc(var(--dashboard-viz-height) + 8rem));overscroll-behavior-y:contain;padding-right:4px;overflow-y:auto}.bullet-items.bullet-vertical{justify-content:center;gap:var(--space-lg);flex-flow:wrap}.bullet-item{background:var(--content-surface);border-radius:var(--radius-lg);padding:clamp(var(--space-sm), 1.8vh, var(--space-lg));box-shadow:var(--crystal-shadow);gap:clamp(var(--space-xs), 1.2vh, var(--space-md));flex-direction:column;display:flex}.bullet-label{font-size:clamp(12px, 1.7vw, var(--text-md));color:var(--text-primary);font-weight:600}.bullet-bar-container{border-radius:var(--radius-md);background:#0000000d;height:clamp(24px,4.5vh,40px);position:relative;overflow:visible}.bullet-bar-container.vertical{width:clamp(44px,9vw,60px);height:clamp(140px,28vh,220px);margin:0 auto var(--space-md)}.bullet-ranges{border-radius:var(--radius-md);width:100%;height:100%;display:flex;position:absolute;top:0;left:0;overflow:hidden}.bullet-ranges.vertical{flex-direction:column-reverse}.bullet-range{height:100%;transition:all var(--liquid-normal)}.bullet-range.vertical{width:100%}.bullet-range.range-poor{background:#ff475733}.bullet-range.range-ok{background:#ffb80033}.bullet-range.range-good{background:#0f83}.bullet-bar{border-radius:var(--radius-sm);height:clamp(14px,2.8vh,24px);transition:all var(--liquid-normal);position:absolute;top:50%;left:0;transform:translateY(-50%);box-shadow:inset 0 1px 3px #0003,0 2px 8px #0000001a}.bullet-bar.vertical{width:100%;height:auto;top:auto;bottom:0;left:0;transform:none}.bullet-bar.poor{background:linear-gradient(90deg,#ef4444,#f87171)}.bullet-bar.below{background:linear-gradient(90deg,#f97316,#fb923c)}.bullet-bar.satisfactory,.bullet-bar.ok{background:linear-gradient(90deg,#eab308,#facc15)}.bullet-bar.good{background:linear-gradient(90deg,#22c55e,#4ade80)}.bullet-bar.excellent{background:linear-gradient(90deg,#10b981,#34d399)}.bullet-target-marker{z-index:10;background:#1e293b;width:4px;height:100%;position:absolute;top:0;right:0;box-shadow:0 0 0 2px #fffc}.bullet-target-marker .target-diamond{background:#1e293b;border:2px solid #fff;width:14px;height:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg);box-shadow:0 2px 8px #0000004d}.bullet-target-marker:before{content:none}.bullet-target-marker.vertical{width:100%;height:4px;top:auto;bottom:0;left:0;right:auto;transform:translateY(-100%)}.bullet-target-marker.vertical .target-diamond{top:50%;left:auto;right:-7px}.bullet-values{font-size:clamp(10px, 1.5vw, var(--text-xs));color:var(--text-secondary);justify-content:space-between;font-weight:500;display:flex}.bullet-values.vertical{align-items:center;gap:var(--space-xs);flex-direction:column}.bullet-vertical-item{text-align:center;align-items:center}.bullet-actual{color:var(--text-primary);font-weight:600}.chart-container .scatter-legend{gap:var(--space-lg);padding:var(--space-md);border-top:1px solid var(--glass-regular-border);margin-top:var(--space-md);justify-content:center;display:flex}.legend-item{align-items:center;gap:var(--space-xs);font-size:var(--text-sm);color:var(--text-secondary);font-weight:500;display:flex}.legend-color{border-radius:var(--radius-full);width:16px;height:16px;box-shadow:var(--elevation-1);border:2px solid #fffc}.chart-loading:before{content:"";width:32px;height:32px;margin:0 auto var(--space-md);border:3px solid var(--glass-regular-border);border-top-color:var(--primary-neon);border-radius:var(--radius-full);animation:1s linear infinite spin;display:block}.chart-annotation{font-size:var(--text-xs);color:var(--text-secondary);font-weight:600}@media (max-width:768px){.heatmap-container{max-height:var(--dashboard-viz-height);font-size:var(--text-sm)}.heatmap-cell{min-width:var(--heatmap-cell-min-size);min-height:var(--heatmap-cell-min-size);font-size:clamp(10px,2.6vw,13px)}.bullet-bar-container{height:32px}.bullet-items.bullet-vertical{flex-direction:column}.bullet-bar{height:20px;top:50%}.kpi-sparkline-container{height:32px}.pagination-btn{padding:var(--space-xs) var(--space-md);font-size:var(--text-xs)}}@media (max-height:720px){.bullet-items.bullet-horizontal{max-height:min(100dvh - 240px,360px)}.sankey-stats-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}@media (max-width:480px){.bullet-container,.table-wrapper{padding:var(--space-md)}.heatmap-wrapper{padding:0}.bullet-items{gap:var(--space-md)}.bullet-item{padding:var(--space-md)}.kpi-main-value{font-size:var(--text-xl)}.kpi-sparkline-container{height:28px}}@media (pointer:coarse){.pagination-btn{min-width:44px;min-height:44px}.table-wrapper th,.table-wrapper td{min-height:44px}.bullet-item{min-height:56px}}[data-theme=light] .kpi-main-value{color:var(--text-primary)!important}[data-theme=light] .kpi-label,[data-theme=light] .kpi-target{color:var(--text-secondary)!important}.dashboard-library{z-index:1000;transition:opacity .3s;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.dashboard-library.hidden{opacity:0;pointer-events:none}.dashboard-library-backdrop{background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:absolute;top:0;bottom:0;left:0;right:0}.dashboard-library-panel{background:var(--surface-modal);border-right:1px solid var(--border-default);flex-direction:column;width:320px;max-width:90vw;height:100%;transition:transform .3s;display:flex;position:relative;transform:translate(0)}.dashboard-library.hidden .dashboard-library-panel{transform:translate(-100%)}.library-header{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.library-header h2{color:var(--text-primary);margin:0;font-size:18px;font-weight:600}.library-close-btn{width:44px;min-width:44px;height:44px;min-height:44px;color:var(--text-secondary);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:24px;transition:all .2s;display:flex}.library-close-btn:hover{background:var(--interactive-hover-bg);color:var(--text-primary)}[data-theme=dark] .library-header h2{color:#fff}[data-theme=dark] .library-close-btn{color:#ffffffb3}[data-theme=dark] .library-close-btn:hover{color:#fff}[data-theme=dark] .library-tab{color:#fff9}[data-theme=dark] .library-tab:hover{color:#fff}[data-theme=dark] .library-tab.active{color:var(--accent-secondary)}[data-theme=dark] .library-item-title{color:#fff}[data-theme=dark] .library-item-meta,[data-theme=dark] .library-action-btn{color:#ffffffb3}[data-theme=dark] .library-action-btn:hover{color:#fff}[data-theme=light] .library-header h2{color:var(--text-primary)!important}[data-theme=light] .library-close-btn{color:var(--text-secondary)!important}[data-theme=light] .library-close-btn:hover{color:var(--text-primary)!important}[data-theme=light] .library-tab{color:var(--text-muted)!important}[data-theme=light] .library-tab:hover{color:var(--text-primary)!important}[data-theme=light] .library-tab.active{color:var(--accent-secondary)!important}[data-theme=light] .library-item-title{color:var(--text-primary)!important}[data-theme=light] .library-item-meta,[data-theme=light] .library-action-btn{color:var(--text-secondary)!important}[data-theme=light] .library-action-btn:hover{color:var(--text-primary)!important}.library-actions{border-bottom:1px solid var(--border-default);padding:16px 20px}.library-actions .btn{justify-content:center;align-items:center;gap:8px;width:100%;display:flex}.library-tabs{border-bottom:1px solid var(--border-default);padding:0 12px;display:flex}.library-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:12px 16px;font-size:13px;font-weight:500;transition:all .2s}.library-tab:hover{color:var(--text-primary)}.library-tab.active{color:var(--accent-secondary);border-bottom-color:var(--accent-secondary)}.library-list{flex:1;padding:12px;overflow-y:auto}.library-list.hidden{display:none}.library-empty{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.library-empty svg{opacity:.5;margin-bottom:16px}.library-empty p{color:var(--text-secondary);margin:0 0 8px;font-size:16px}.library-empty span{font-size:13px}.library-item{background:var(--surface-card);border:1px solid var(--border-default);cursor:pointer;border-radius:8px;align-items:center;gap:12px;margin-bottom:8px;padding:12px;transition:all .2s;display:flex}.library-item:hover{background:var(--surface-card-hover);border-color:var(--accent-secondary)}.library-item-icon{background:var(--accent-secondary-muted);width:40px;height:40px;color:var(--accent-secondary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.library-item-content{flex:1;min-width:0}.library-item-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.library-item-meta{color:var(--text-muted);align-items:center;gap:8px;margin-top:2px;font-size:12px;display:flex}.shared-badge{background:var(--success-muted,#34c75926);text-transform:uppercase;border-radius:4px;align-items:center;padding:2px 6px;font-size:10px;font-weight:500;display:inline-flex;color:var(--success-neon,#34c759)!important}.library-item-actions{opacity:1;flex-wrap:wrap;gap:4px;display:flex}.library-action-btn{width:44px;min-width:44px;height:44px;min-height:44px;color:var(--text-secondary);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .2s;display:flex}.library-action-btn:hover{background:var(--interactive-hover-bg);color:var(--text-primary)}.library-action-btn.danger:hover{background:var(--error-muted);color:var(--error-neon)}.persistent-dashboard-canvas{z-index:900;background:var(--bg-main);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.persistent-dashboard-canvas.hidden{display:none}.canvas-header{padding:12px 20px;padding-top:max(12px, var(--safe-area-top));padding-left:max(20px, var(--safe-area-left));padding-right:max(20px, var(--safe-area-right));background:var(--surface-modal);border-bottom:1px solid var(--border-default);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.canvas-header-left{align-items:center;gap:12px;display:flex}.canvas-back-btn{border:1px solid var(--border-default,#ffffff29);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:8px;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;transition:all .2s;display:flex;color:var(--text-secondary)!important}.canvas-back-btn:hover{background:var(--interactive-hover-bg,#ffffff1a);color:var(--text-primary)!important}.canvas-header h1{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)!important}.canvas-header-right{align-items:center;gap:8px;display:flex}.canvas-header-right .btn{align-items:center;gap:6px;display:flex}.canvas-header-right .btn.active{background:var(--accent-secondary-muted);border-color:var(--accent-secondary)}.canvas-content{padding:20px;padding-bottom:max(20px, var(--safe-area-bottom));flex:1;position:relative;overflow:auto}.canvas-empty{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.canvas-empty.hidden{display:none}.canvas-empty svg{opacity:.5;margin-bottom:20px}.canvas-empty h3{color:var(--text-secondary);margin:0 0 8px;font-size:18px;font-weight:500}.canvas-empty p{max-width:300px;margin:0;font-size:14px}.grid-stack{background:0 0;width:100%;min-width:0}.grid-stack.hidden{display:none}.grid-stack-item{border-radius:12px;overflow:hidden}.grid-stack-item-content{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;min-width:0;overflow:hidden}.grid-stack-item.ui-draggable-dragging .grid-stack-item-content,.grid-stack-item.ui-resizable-resizing .grid-stack-item-content{border-color:var(--accent-secondary);box-shadow:var(--glow-secondary)}.grid-stack-placeholder{border-radius:12px;background:var(--accent-secondary-muted)!important;border:2px dashed var(--accent-secondary)!important}.viz-widget{flex-direction:column;height:100%;display:flex}.viz-widget-header{background:var(--glass-bg);border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.viz-widget-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.viz-widget-delete{width:44px;min-width:44px;height:44px;min-height:44px;color:var(--text-muted);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.viz-widget-delete:hover{background:var(--error-muted);color:var(--error-neon)}.viz-widget-delete.hidden{display:none}.viz-widget-content{flex:1;justify-content:center;align-items:center;min-width:0;min-height:clamp(120px,25vh,200px);padding:clamp(8px,2vw,12px);display:flex;overflow:auto;container-type:inline-size}.viz-widget-content canvas{max-width:100%;max-height:clamp(180px,40vh,400px);width:100%!important;height:100%!important}.viz-error{color:var(--error-neon);text-align:center;font-size:12px}.viz-placeholder{color:var(--text-muted);text-align:center;font-size:14px}.kpi-grid-mini{grid-template-columns:repeat(2,1fr);gap:8px;width:100%;display:grid}.kpi-card-mini{background:var(--glass-bg);text-align:center;border-radius:6px;padding:8px}.kpi-value-mini{color:var(--text-primary);font-size:16px;font-weight:600}.kpi-label-mini{color:var(--text-muted);margin-top:2px;font-size:10px}.kpi-delta-mini{margin-top:2px;font-size:10px}.kpi-delta-mini.positive{color:var(--success-neon)}.kpi-delta-mini.negative{color:var(--error-neon)}.table-mini-wrapper{width:100%;overflow-x:auto}.table-mini{border-collapse:collapse;width:100%;min-width:max(420px,100%);font-size:11px}.table-mini th,.table-mini td{text-align:left;border-bottom:1px solid var(--border-default);padding:4px 8px}.table-mini th{color:var(--text-secondary);font-weight:500}.table-mini td{color:var(--text-primary)}.table-more{text-align:center;color:var(--text-muted);margin-top:4px;font-size:10px}.btn-keep{background:var(--glass-regular);height:44px;-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-regular-border);color:var(--text-primary);border-radius:var(--radius-full);cursor:pointer;transition:all var(--liquid-normal);box-shadow:var(--crystal-shadow), var(--glass-inner-glow);justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:1.25rem;font-weight:500;display:flex;position:relative;overflow:hidden}.btn-keep:before{content:"";background:var(--glass-highlight);opacity:0;transition:opacity var(--liquid-fast);border-radius:inherit;position:absolute;top:0;bottom:0;left:0;right:0}.btn-keep:hover{background:var(--glass-regular);color:var(--primary-neon);box-shadow:0 8px 25px var(--primary-neon-glow), var(--glass-inner-glow);border-color:var(--primary-neon);text-shadow:0 0 10px var(--primary-neon);transform:translateY(-2px)}.btn-keep:hover:before{opacity:1}.btn-keep:active{transform:translateY(0)}.btn-keep svg{width:16px;height:16px}[data-theme=dark] .btn-keep,[data-theme=dark] .btn-keep .btn-label,[data-theme=dark] .btn-keep svg{color:#fff}[data-theme=dark] .btn-keep:hover{color:var(--primary-neon)}[data-theme=dark] .btn-keep:hover .btn-label,[data-theme=dark] .btn-keep:hover svg{color:inherit}[data-theme=light] .btn-keep,[data-theme=light] .btn-keep .btn-label,[data-theme=light] .btn-keep svg{color:var(--text-primary)!important}[data-theme=light] .btn-keep:hover{color:var(--primary-neon)!important}[data-theme=light] .btn-keep:hover .btn-label,[data-theme=light] .btn-keep:hover svg{color:inherit!important}@keyframes saveSuccess{0%{box-shadow:0 0 0 0 var(--success-neon);transform:scale(1)}50%{box-shadow:0 0 20px 5px var(--success-neon);transform:scale(1.05)}to{box-shadow:0 0 0 0 var(--success-neon);transform:scale(1)}}.btn-keep.save-success{border-color:var(--success-neon);color:var(--success-neon);animation:.6s ease-out saveSuccess}.btn-keep.saving{pointer-events:none;opacity:.7}.btn-keep.saving svg{animation:1s linear infinite spin}.btn-share{background:var(--glass-regular);height:44px;-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-regular-border);color:var(--text-primary);border-radius:var(--radius-full);cursor:pointer;transition:all var(--liquid-normal);box-shadow:var(--crystal-shadow), var(--glass-inner-glow);justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:1.25rem;font-weight:500;display:flex;position:relative;overflow:hidden}.btn-share:before{content:"";background:var(--glass-highlight);opacity:0;transition:opacity var(--liquid-fast);border-radius:inherit;position:absolute;top:0;bottom:0;left:0;right:0}.btn-share:hover{background:var(--glass-regular);color:var(--accent-secondary);box-shadow:0 8px 25px var(--accent-secondary-glow,#00c8ff4d), var(--glass-inner-glow);border-color:var(--accent-secondary);text-shadow:0 0 10px var(--accent-secondary);transform:translateY(-2px)}.btn-share:hover:before{opacity:1}.btn-share:active{transform:translateY(0)}.btn-share svg{width:16px;height:16px}[data-theme=dark] .btn-share,[data-theme=dark] .btn-share .btn-label,[data-theme=dark] .btn-share svg{color:#fff}[data-theme=dark] .btn-share:hover{color:var(--accent-secondary)}[data-theme=dark] .btn-share:hover .btn-label,[data-theme=dark] .btn-share:hover svg{color:inherit}[data-theme=light] .btn-share,[data-theme=light] .btn-share .btn-label,[data-theme=light] .btn-share svg{color:var(--text-primary)!important}[data-theme=light] .btn-share:hover{color:var(--accent-secondary)!important}[data-theme=light] .btn-share:hover .btn-label,[data-theme=light] .btn-share:hover svg{color:inherit!important}.btn-share.saving{pointer-events:none;opacity:.7}.btn-share.saving svg{animation:1s linear infinite spin}.save-modal{max-width:440px}.save-option{margin-bottom:16px}.save-option label{color:var(--text-primary);cursor:pointer;align-items:center;gap:8px;margin-bottom:8px;display:flex}.save-option input[type=radio]{accent-color:var(--accent-secondary)}.save-option .form-input{margin-top:8px}.save-option .form-input:disabled{opacity:.5;cursor:not-allowed}#share-dashboard-modal{z-index:10001}.share-modal{max-width:480px}.share-modal .modal-title{color:var(--text-primary);background:0 0!important;-webkit-background-clip:initial!important;-webkit-text-fill-color:currentColor!important;background-clip:initial!important}.share-section{margin-bottom:20px}.share-section h3{margin:0 0 12px;font-size:14px;font-weight:500;color:var(--text-primary)!important}.share-link-row{gap:8px;display:flex}.share-link-row .form-input{flex:1}.share-link-actions{gap:8px;margin-top:8px;display:flex}.share-email-row{gap:8px;display:flex}.share-email-row .form-input{flex:1}.shared-users-list{max-height:200px;margin-top:12px;overflow-y:auto}.shared-user-item{background:var(--surface-card);border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:8px 12px;display:flex}.shared-user-item span{font-size:13px;color:#f0f4ff!important}.shared-users-empty{text-align:center;padding:12px;font-size:13px;color:#8892a8!important}.share-privacy-toggle{flex-direction:column;gap:8px;display:flex}.privacy-option{background:var(--surface-card);border:1px solid var(--border-default);cursor:pointer;border-radius:8px;align-items:center;padding:12px 16px;transition:all .2s;display:flex}.privacy-option:hover{background:var(--surface-card-hover);border-color:var(--accent-secondary)}.privacy-option:has(input:checked){background:var(--accent-secondary-muted);border-color:var(--accent-secondary)}.privacy-option input[type=radio]{accent-color:var(--accent-secondary);width:18px;height:18px;margin-right:12px}.privacy-label{align-items:center;gap:10px;font-size:14px;display:flex;color:#f0f4ff!important}.privacy-label svg{flex-shrink:0;color:#b8c4e0!important}.privacy-option:has(input:checked) .privacy-label svg{color:var(--accent-secondary)}.share-stats{background:var(--surface-card);border-radius:8px;margin-top:16px;padding:12px 16px}.share-stat{align-items:center;gap:8px;font-size:14px;display:flex;color:#b8c4e0!important}.share-stat svg{color:var(--accent-secondary)}.share-stat span{font-weight:600;color:#f0f4ff!important}.notification{z-index:10000;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:500;animation:.3s notificationSlide;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.notification-success{background:var(--success-neon);color:var(--text-on-accent)}.notification-error{background:var(--error-neon);color:var(--text-on-accent)}.notification-info{background:var(--accent-secondary);color:var(--text-on-accent)}@keyframes notificationSlide{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.viz-date{opacity:.6}.viz-date:before{content:"•";margin-right:8px}.viz-fullscreen-overlay{z-index:950;background:var(--bg-main);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.viz-fullscreen-overlay.hidden{display:none}.viz-fullscreen-header{background:var(--surface-modal);border-bottom:1px solid var(--border-default);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.viz-fullscreen-header-left{align-items:center;gap:12px;display:flex}.viz-fullscreen-header-left h1{color:var(--text-primary);margin:0;font-size:20px;font-weight:600}.viz-fullscreen-header-right{align-items:center;gap:8px;display:flex}.viz-fullscreen-content{flex:1;justify-content:center;align-items:center;padding:24px;display:flex;overflow:auto}.viz-fullscreen-content canvas{max-width:100%;max-height:100%}.library-loading{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px 20px;display:flex}.loading-spinner{border:3px solid var(--accent-secondary-muted);border-top-color:var(--accent-secondary);border-radius:50%;width:32px;height:32px;animation:1s linear infinite spin}.loading-spinner-sm{border:2px solid var(--border-default);border-top-color:currentColor;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}.library-load-more{justify-content:center;padding:12px;display:flex}.load-more-btn{background:var(--accent-secondary-muted);border:1px solid var(--accent-secondary);width:100%;color:var(--accent-secondary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.load-more-btn:hover:not(:disabled){background:var(--accent-secondary);color:var(--text-on-accent)}.load-more-btn:disabled{opacity:.7;cursor:not-allowed}.load-more-btn svg{flex-shrink:0}@media (max-width:768px){.dashboard-library-panel{width:100%;max-width:100%}.canvas-header{padding:10px 16px;padding-top:max(10px, var(--safe-area-top));padding-left:max(16px, var(--safe-area-left));padding-right:max(16px, var(--safe-area-right))}.canvas-header h1{font-size:16px}.canvas-content{padding:12px;padding-bottom:max(12px, var(--safe-area-bottom))}.grid-stack{margin:0!important}.kpi-grid-mini{grid-template-columns:1fr}}@media (max-width:480px){.dashboard-library-panel{width:100vw;max-width:100vw;height:100vh;z-index:9999;border-radius:0;height:100dvh;position:fixed;top:0;left:0}.dashboard-library-close-btn{display:flex}}@media (max-width:320px){.library-header{padding:12px 16px}.library-header h2{font-size:16px}.library-actions{padding:12px 16px}.library-tabs{padding:0 8px}.library-tab{padding:10px 8px;font-size:12px}.library-list{padding:8px}.library-item{gap:10px;padding:10px}.library-item-title{font-size:13px}.library-item-meta{font-size:11px}.library-empty{padding:24px 16px}.library-empty p{font-size:14px}.canvas-header{padding:8px 12px;padding-top:max(8px, var(--safe-area-top));padding-left:max(12px, var(--safe-area-left));padding-right:max(12px, var(--safe-area-right))}.canvas-header h1{font-size:14px}.canvas-content{padding:8px;padding-bottom:max(8px, var(--safe-area-bottom))}.viz-widget-header{padding:8px 10px}.viz-widget-title{font-size:12px}.viz-widget-content{padding:8px}}@media (pointer:coarse){.library-close-btn{font-size:28px}.library-action-btn svg{width:20px;height:20px}.viz-widget-delete svg{width:18px;height:18px}.library-tab{min-height:44px}.library-item{min-height:56px}.load-more-btn{min-height:48px}}.skeleton-item{background:var(--surface-card);border-radius:8px;align-items:center;gap:12px;margin-bottom:8px;padding:12px 16px;display:flex}.skeleton-icon{background:var(--shimmer-gradient);background-size:200% 100%;border-radius:8px;width:40px;height:40px;animation:1.5s infinite shimmer}.skeleton-content{flex-direction:column;flex:1;gap:8px;display:flex}.skeleton-title{background:var(--shimmer-gradient);background-size:200% 100%;border-radius:4px;width:60%;height:14px;animation:1.5s infinite shimmer}.skeleton-meta{background:var(--shimmer-gradient-muted);background-size:200% 100%;border-radius:4px;width:40%;height:10px;animation:1.5s .2s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-file-item{background:var(--surface-card);border-radius:8px;align-items:center;gap:12px;margin-bottom:6px;padding:10px 12px;display:flex}.skeleton-file-icon{background:var(--shimmer-gradient);background-size:200% 100%;border-radius:6px;width:32px;height:32px;animation:1.5s infinite shimmer}.skeleton-file-info{flex-direction:column;flex:1;gap:6px;display:flex}.skeleton-file-name{background:var(--shimmer-gradient);background-size:200% 100%;border-radius:3px;width:70%;height:12px;animation:1.5s infinite shimmer}.skeleton-file-meta{background:var(--shimmer-gradient-muted);background-size:200% 100%;border-radius:3px;width:50%;height:8px;animation:1.5s .2s infinite shimmer}.shared-dashboard-overlay{z-index:950;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.shared-dashboard-overlay.hidden{display:none}.shared-dashboard-backdrop{background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:absolute;top:0;bottom:0;left:0;right:0}.shared-dashboard-panel{width:90%;max-width:1200px;height:85vh;background:var(--surface-modal);border:1px solid var(--border-default);border-radius:12px;flex-direction:column;min-width:0;height:85dvh;max-height:900px;display:flex;position:relative;overflow:hidden}.shared-dashboard-header{background:var(--surface-modal);border-bottom:1px solid var(--border-default);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.shared-header-left{flex:auto;align-items:center;gap:12px;min-width:0;display:flex;overflow:hidden}.shared-header-left h1{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:20px;font-weight:600;overflow:hidden;color:var(--text-primary)!important}.shared-header-right{flex:none;align-items:center;gap:12px;display:flex}.shared-dashboard-content{flex-direction:column;flex:1;gap:24px;min-width:0;padding:24px;display:flex;overflow:auto}.shared-viz-container{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;min-width:0;overflow:hidden}.shared-viz-header{border-bottom:1px solid var(--border-default);padding:16px 20px}.shared-viz-title{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)!important}.shared-viz-content{justify-content:center;align-items:center;min-width:0;min-height:300px;padding:24px;display:flex;overflow:auto;container-type:inline-size}.shared-viz-content canvas{max-width:100%;max-height:clamp(220px,50vh,500px);width:100%!important;height:100%!important}.shared-empty{text-align:center;padding:48px;font-size:16px;color:var(--text-muted)!important}#clone-shared-btn{align-items:center;gap:8px;padding:10px 16px;font-weight:500;display:flex}#clone-shared-btn svg{flex-shrink:0}.shared-loading{color:var(--text-secondary,#b8c4e0);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:48px;display:flex}.shared-error{text-align:center;color:var(--text-secondary,#b8c4e0);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:48px;display:flex}.shared-error svg{color:var(--error-neon);opacity:.8}.shared-error h2{color:var(--text-primary,#f0f4ff);margin:0;font-size:20px;font-weight:600}.shared-error p{color:var(--text-secondary,#b8c4e0);max-width:300px;margin:0;line-height:1.5}.shared-error .btn{margin-top:16px}.shared-error-hint{color:var(--text-muted,#8892a8);font-size:13px;font-style:italic}.shared-error-actions{gap:12px;margin-top:8px;display:flex}.shared-error-actions .btn{margin-top:0}.shared-viz-loading{background:var(--surface-card);justify-content:center;align-items:center;display:flex}.loading-spinner-sm{border:2px solid var(--border-default);border-top-color:var(--accent-secondary);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}.kpi-grid-shared{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding:8px;display:grid}.kpi-card-shared{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;flex-direction:column;gap:8px;min-height:100px;padding:20px;transition:transform .2s,box-shadow .2s;animation:.4s ease-out backwards kpiSlideIn;display:flex}.kpi-card-shared:hover{box-shadow:var(--elevation-3);transform:translateY(-2px)}.kpi-header-shared{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.kpi-label-shared{color:var(--text-secondary,#b8c4e0);text-transform:uppercase;letter-spacing:0;font-size:13px;font-weight:500}.kpi-target-shared{color:var(--text-muted,#8892a8);white-space:nowrap;font-size:11px}.kpi-value-row-shared{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.kpi-main-value-shared{color:var(--text-primary,#f0f4ff);align-items:baseline;gap:6px;font-size:28px;font-weight:700;line-height:1.2;display:flex}.kpi-trend-shared{font-size:18px;font-weight:600}.kpi-trend-up{color:var(--status-success)}.kpi-trend-down{color:var(--status-error)}.kpi-trend-stable{color:var(--text-secondary,#b8c4e0)}.kpi-delta-shared{border-radius:6px;padding:4px 8px;font-size:14px;font-weight:600}.kpi-delta-shared.positive{color:var(--status-success);background:var(--status-success-muted)}.kpi-delta-shared.negative{color:var(--status-error);background:var(--status-error-muted)}.kpi-sparkline-container-shared{height:40px;margin-top:auto}.kpi-sparkline-shared{width:100%;height:100%}.table-shared-wrapper{border:1px solid var(--border-default);border-radius:8px;width:100%;overflow-x:auto}.table-shared{border-collapse:collapse;width:100%;min-width:max(560px,100%);font-size:14px}.table-shared thead{background:var(--surface-elevated);z-index:1;position:sticky;top:0}.table-shared th{text-align:left;color:var(--text-primary,#f0f4ff);border-bottom:2px solid var(--border-default);white-space:nowrap;padding:12px 16px;font-weight:600}.table-shared td{color:var(--text-primary,#f0f4ff);border-bottom:1px solid var(--border-subtle);padding:10px 16px}.table-shared tbody tr{transition:background-color .15s;animation:.3s ease-out backwards tableRowFadeIn}.table-shared tbody tr:hover{background:var(--surface-elevated)}.table-shared tbody tr:last-child td{border-bottom:none}@keyframes tableRowFadeIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.table-more-shared{text-align:center;color:var(--text-muted);background:var(--surface-elevated);border-top:1px solid var(--border-default);padding:12px 16px;font-size:13px}.shared-viz-content{height:clamp(250px,55vh,550px);min-height:clamp(200px,40vh,350px);padding:clamp(12px,3vw,24px)}.shared-viz-content canvas{max-width:100%;max-height:clamp(220px,50vh,500px);height:100%!important}.confirm-overlay{z-index:10100;background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.confirm-dialog{text-align:center;border-radius:12px;max-width:400px;padding:24px;animation:.2s slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.confirm-icon{margin-bottom:16px}.confirm-icon svg{color:var(--warning-neon,gold)}.confirm-dialog h3{color:var(--text-primary,#f0f4ff);margin:0 0 12px;font-size:18px;font-weight:600}.confirm-dialog p{color:var(--text-secondary,#b8c4e0);margin:0 0 20px;font-size:14px;line-height:1.5}.confirm-actions{justify-content:center;gap:12px;display:flex}.confirm-actions .btn{min-width:100px}.btn-danger{background:var(--error-neon);border-color:var(--error-neon);color:#fff}.btn-danger:hover{background:color-mix(in srgb, var(--error-neon) 80%, black)}@media (max-width:768px){.shared-dashboard-panel{border-radius:0;width:100%;height:100%;max-height:none}.shared-dashboard-header{gap:8px;padding:12px 16px}.shared-header-left{flex:1;min-width:0;overflow:hidden}.shared-header-left h1{white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:16px;overflow:hidden}.shared-header-left .shared-badge{display:none}.shared-header-right{flex-shrink:0;gap:8px}.shared-header-right span{display:none}#clone-shared-btn{flex-shrink:0;padding:10px}.canvas-back-btn{flex-shrink:0}.confirm-dialog{margin:16px}.shared-dashboard-content{gap:16px;padding:16px}.shared-viz-content{height:clamp(240px,56vh,440px);min-height:clamp(220px,48vh,360px);padding:16px}.table-shared{min-width:max(520px,100%)}}@media (max-width:480px){.shared-header-left h1{max-width:80px;font-size:14px}.shared-dashboard-header{padding:10px 12px}.shared-dashboard-content{gap:12px;padding:12px}.shared-viz-content{height:clamp(220px,54vh,380px);min-height:clamp(200px,48vh,320px);padding:12px}.table-shared,.table-mini{min-width:max(440px,100%)}}[data-theme=light] .share-modal{background:var(--surface-modal);box-shadow:var(--elevation-3), var(--glass-inner-glow)}[data-theme=light] .share-modal .modal-title{color:var(--text-primary);background:0 0!important;-webkit-background-clip:initial!important;-webkit-text-fill-color:currentColor!important;background-clip:initial!important}[data-theme=light] .share-section h3{color:var(--text-primary)!important}[data-theme=light] .privacy-option{background:var(--surface-card);border-color:var(--border-default)}[data-theme=light] .privacy-option:hover{background:var(--surface-card-hover)}[data-theme=light] .privacy-option:has(input:checked){background:var(--accent-secondary-muted);border-color:var(--accent-secondary)}[data-theme=light] .privacy-label{color:var(--text-primary)!important}[data-theme=light] .privacy-label svg{color:var(--text-secondary)!important}[data-theme=light] .shared-user-item{background:var(--surface-card)}[data-theme=light] .shared-user-item span{color:var(--text-primary)!important}[data-theme=light] .shared-users-empty{color:var(--text-muted)!important}[data-theme=light] .share-stats{background:var(--surface-card)}[data-theme=light] .share-stat{color:var(--text-secondary)!important}[data-theme=light] .share-stat span{color:var(--text-primary)!important}[data-theme=light] .shared-dashboard-panel{background:var(--surface-modal);box-shadow:var(--elevation-3), var(--glass-inner-glow)}[data-theme=light] .shared-dashboard-header{background:var(--surface-modal);border-bottom-color:var(--border-default)}[data-theme=light] .shared-header-left h1{color:var(--text-primary)!important}[data-theme=light] .shared-badge{background:var(--surface-card);border-color:var(--border-default);color:var(--text-secondary)!important}[data-theme=light] .shared-viz-container{background:var(--surface-card);border-color:var(--border-default)}[data-theme=light] .shared-viz-header{border-bottom-color:var(--border-default)}[data-theme=light] .shared-viz-title{color:var(--text-primary)!important}[data-theme=light] .shared-empty{color:var(--text-muted)!important}[data-theme=light] .shared-loading,[data-theme=light] .shared-error{color:var(--text-secondary)!important}[data-theme=light] .shared-error h2{color:var(--text-primary)!important}[data-theme=light] .shared-error p{color:var(--text-secondary)!important}[data-theme=light] .shared-error-hint{color:var(--text-muted)!important}[data-theme=light] .kpi-card-shared{background:var(--surface-card);border-color:var(--border-default)}[data-theme=light] .kpi-label-shared{color:var(--text-secondary)!important}[data-theme=light] .kpi-value-shared{color:var(--text-primary)!important}[data-theme=light] .kpi-change-shared,[data-theme=light] .kpi-target-shared{color:var(--text-muted)!important}[data-theme=light] .table-shared{background:var(--surface-card)}[data-theme=light] .table-shared th{background:var(--surface-elevated);border-bottom-color:var(--border-default);color:var(--text-primary)!important}[data-theme=light] .table-shared td{border-bottom-color:var(--border-subtle);color:var(--text-primary)!important}[data-theme=light] .table-shared tr:hover td{background:var(--surface-card-hover)}[data-theme=light] .table-more-shared{background:var(--surface-elevated);border-top-color:var(--border-default);color:var(--text-muted)!important}[data-theme=light] .confirm-dialog{background:var(--surface-modal);box-shadow:var(--elevation-3)}[data-theme=light] .confirm-dialog h3{color:var(--text-primary)!important}[data-theme=light] .confirm-dialog p,[data-theme=light] .canvas-back-btn{color:var(--text-secondary)!important}[data-theme=light] .canvas-back-btn:hover{background:var(--glass-bg-hover);color:var(--text-primary)!important}[data-theme=light] .canvas-header h1{color:var(--text-primary)!important}[data-theme=light] .share-modal .form-input,[data-theme=light] .share-modal .glass-input{background:var(--surface-input);border-color:var(--border-default);color:var(--text-primary)!important}[data-theme=light] .share-modal .form-input::placeholder,[data-theme=light] .share-modal .glass-input::placeholder{color:var(--text-muted)!important}[data-theme=light] .share-modal .form-input:focus,[data-theme=light] .share-modal .glass-input:focus{border-color:var(--accent-secondary);background:var(--surface-input-focus)}[data-theme=dark] .share-modal .modal-title{color:var(--text-primary)!important;background:0 0!important;-webkit-background-clip:initial!important;-webkit-text-fill-color:currentColor!important;background-clip:initial!important}[data-theme=dark] .share-section h3,[data-theme=dark] .privacy-label{color:var(--text-primary)!important}[data-theme=dark] .privacy-label svg{color:var(--text-secondary)!important}[data-theme=dark] .shared-user-item span{color:var(--text-primary)!important}[data-theme=dark] .share-stat{color:var(--text-secondary)!important}[data-theme=dark] .share-stat span{color:var(--text-primary)!important}[data-theme=dark] .shared-users-empty{color:var(--text-muted)!important}[data-theme=dark] .shared-dashboard-header h1{color:var(--text-primary)!important}[data-theme=dark] .shared-badge{color:var(--text-secondary)!important}[data-theme=dark] .shared-viz-title{color:var(--text-primary)!important}[data-theme=dark] .shared-loading p{color:var(--text-secondary)!important}[data-theme=dark] .shared-error h2{color:var(--text-primary)!important}[data-theme=dark] .shared-error p{color:var(--text-secondary)!important}[data-theme=dark] .shared-error-hint{color:var(--text-muted)!important}[data-theme=dark] .confirm-dialog h3{color:var(--text-primary)!important}[data-theme=dark] .confirm-dialog p{color:var(--text-secondary)!important}[data-theme=dark] .share-modal .form-input,[data-theme=dark] .share-modal .glass-input{color:var(--text-primary)!important}[data-theme=dark] .share-modal .form-input::placeholder,[data-theme=dark] .share-modal .glass-input::placeholder{color:var(--text-muted)!important}[data-theme=dark] .canvas-back-btn{color:var(--text-secondary)!important}[data-theme=dark] .canvas-back-btn:hover,[data-theme=dark] .shared-header-left h1{color:var(--text-primary)!important}
