:root{--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-accent-light: rgba(37, 99, 235, .08);--color-light: #93c5fd;--color-light-hover: #60a5fa;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-dark: #0f172a;--color-dark-light: #1e293b;--color-dark-lighter: #334155;--color-danger: #ef4444;--color-danger-hover: #dc2626;--color-success: #10b981;--color-warning: #f59e0b;--color-white: #FFFFFF;--color-gray-50: #f8fafc;--color-gray-100: #f1f5f9;--color-gray-200: #e2e8f0;--color-gray-300: #cbd5e1;--color-gray-400: #94a3b8;--color-gray-500: #64748b;--color-gray-600: #475569;--color-gray-700: #334155;--color-gray-800: #1e293b;--color-gray-900: #0f172a;--font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 1px rgba(0, 0, 0, .02);--shadow-md: 0 2px 4px rgba(0, 0, 0, .04), 0 4px 8px rgba(0, 0, 0, .04);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .04), 0 8px 16px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-xl: 0 8px 16px rgba(0, 0, 0, .06), 0 16px 32px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;--color-border-light: rgba(15, 23, 42, .06);--color-border-medium: rgba(15, 23, 42, .1);--color-bg-hover: rgba(59, 130, 246, .06);--color-bg-light: rgba(59, 130, 246, .03);--color-text-muted: #94a3b8;--color-text-secondary: #64748b;--transition-standard: .2s ease;--gap-section: 24px;--gap-compact: 12px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-weight:400;line-height:1.6;color:var(--color-gray-900);background:var(--color-gray-50);letter-spacing:-.01em}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}input,button,textarea,select{font-family:inherit;font-size:inherit}img{max-width:100%;height:auto}#root{min-height:100vh}.page-container{display:flex;flex-direction:column;gap:var(--gap-section)}.tab-error-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 32px;text-align:center;min-height:300px}.tab-error-icon{font-size:48px;margin-bottom:16px}.tab-error-title{color:var(--color-text);font-family:var(--font-main);font-size:20px;font-weight:700;margin:0 0 8px}.tab-error-message{color:var(--color-label);font-family:var(--font-main);font-size:14px;max-width:440px;margin:0 0 24px;line-height:1.6}.tab-error-retry{padding:10px 24px;background:var(--color-dark);border:none;border-radius:var(--radius-md);color:#fff;font-family:var(--font-family);font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s}.tab-error-retry:hover{opacity:.9}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;background:var(--color-gray-50);padding:var(--spacing-xl)}.login-brand{display:none}.login-form-panel{width:100%;max-width:440px;background:var(--color-white);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--spacing-2xl) var(--spacing-2xl) var(--spacing-xl)}.login-form-panel:before{display:none}.login-form-container{width:100%}.mobile-logo{display:block;width:56px;height:56px;margin:0 auto var(--spacing-lg)}.mobile-logo img{width:100%;height:100%;border-radius:var(--radius-full)}.form-header{margin-bottom:var(--spacing-xl);text-align:center}.form-title{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-dark);letter-spacing:-.02em;margin-bottom:var(--spacing-xs)}.form-description{font-size:var(--font-size-sm);color:var(--color-gray-500);line-height:1.6}.login-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-error{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);color:var(--color-accent);font-size:var(--font-size-sm);font-weight:500;animation:fadeIn .3s ease-out}.input-group{display:flex;flex-direction:column;gap:4px}.input-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-700)}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper input{width:100%;padding:12px 14px;border:1.5px solid var(--color-gray-200);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-dark);background:var(--color-white);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.input-wrapper input::placeholder{color:var(--color-gray-400)}.input-wrapper input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61f}.input-wrapper input:hover:not(:focus){border-color:var(--color-gray-300)}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-gray-400);padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s ease;border-radius:var(--radius-sm)}.password-toggle:hover{color:var(--color-primary)}.input-wrapper input[type=password],.input-wrapper input.has-toggle{padding-right:44px}.btn-submit{width:100%;padding:12px 24px;font-size:var(--font-size-sm);font-weight:600;color:var(--color-white);background:var(--color-primary);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background .2s ease,box-shadow .2s ease;margin-top:var(--spacing-xs)}.btn-submit:before{display:none}.btn-submit:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f640}.btn-submit:active{background:#1d4ed8;box-shadow:none}.btn-secondary{background:var(--color-dark)}.btn-secondary:hover{background:#1e293b;box-shadow:0 4px 12px #0f172a33}.form-link{font-size:var(--font-size-sm);color:var(--color-primary);font-weight:500;cursor:pointer;background:none;border:none;padding:0;transition:color .2s ease;text-align:center}.form-link:hover{color:var(--color-dark)}.form-footer{display:flex;justify-content:center;margin-top:var(--spacing-sm)}.form-divider{display:flex;align-items:center;gap:var(--spacing-md);margin:var(--spacing-xs) 0}.form-divider:before,.form-divider:after{content:"";flex:1;height:1px;background:var(--color-gray-200)}.form-divider span{font-size:var(--font-size-xs);color:var(--color-gray-400);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.success-message{text-align:center;padding:var(--spacing-xl);background:#3b82f60f;border-radius:var(--radius-md);border:1px solid rgba(59,130,246,.15)}.success-icon{width:48px;height:48px;background:#3b82f61a;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-md)}.success-message h3{font-size:var(--font-size-lg);color:var(--color-dark);font-weight:600;margin-bottom:var(--spacing-xs)}.success-message p{font-size:var(--font-size-sm);color:var(--color-gray-500);line-height:1.6}.pw-strength{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:var(--color-gray-50);border-radius:var(--radius-md);border:1px solid var(--color-border-light)}.pw-strength-rule{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:var(--color-gray-400);transition:color .2s ease}.pw-strength-rule.pass{color:#059669}.pw-strength-rule .pw-rule-icon{width:16px;height:16px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1.5px solid var(--color-gray-300);transition:all .2s ease}.pw-strength-rule.pass .pw-rule-icon{background:#059669;border-color:#059669;color:#fff}.fade-in{animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.slide-in{animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@media(max-width:480px){.login-container{padding:var(--spacing-md)}.login-form-panel{padding:var(--spacing-xl) var(--spacing-lg)}}@media(prefers-reduced-motion:reduce){.fade-in,.slide-in,.form-error{animation:none}.btn-submit{transition:none}}.onboarding-steps{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-2xl)}.onboarding-step{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-gray-400);font-weight:500;transition:color var(--transition-fast)}.onboarding-step.active{color:var(--color-dark)}.onboarding-step.done{color:var(--color-primary)}.step-number{width:28px;height:28px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:700;background:var(--color-gray-100);color:var(--color-gray-400);transition:all var(--transition-fast);flex-shrink:0}.onboarding-step.active .step-number{background:var(--color-dark);color:var(--color-white)}.onboarding-step.done .step-number{background:var(--color-primary);color:var(--color-white)}.step-connector{flex:1;height:2px;background:var(--color-gray-200);border-radius:1px}.otp-group{display:flex;gap:var(--spacing-sm);justify-content:center}.otp-input{width:48px;height:56px;text-align:center;font-size:var(--font-size-2xl);font-weight:700;color:var(--color-dark);background:var(--color-white);border:2px solid var(--color-gray-200);border-radius:var(--radius-md);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);caret-color:var(--color-primary)}.otp-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f626}.otp-input:hover:not(:focus){border-color:var(--color-gray-300)}.btn-submit:disabled,.form-link:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}@media(max-width:480px){.otp-input{width:40px;height:48px;font-size:var(--font-size-xl)}.otp-group{gap:var(--spacing-xs)}.onboarding-step span{display:none}}.dashboard{min-height:100vh;background:var(--color-gray-50);color:var(--color-dark);font-family:var(--font-family)}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:14px 32px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border-light);position:sticky;top:0;z-index:100;height:68px;box-sizing:border-box}.header-left{display:flex;align-items:center;gap:14px}.header-tab-navigation{display:flex;gap:4px;margin-left:16px;padding-left:20px;border-left:1px solid var(--color-border-medium)}.header-logo{width:40px;height:40px;border-radius:var(--radius-full)}.header-title{font-size:var(--font-size-xl);font-weight:700;color:var(--color-dark);letter-spacing:-.01em}.header-right{display:flex;align-items:center;gap:12px}.header-credits-group{display:flex;align-items:center;gap:6px}.header-credit-badge{position:relative;display:flex;align-items:center;gap:5px;padding:5px 10px;background:#3b82f614;border:1px solid rgba(59,130,246,.15);border-radius:var(--radius-full);color:var(--color-primary);cursor:default;transition:background .2s ease}.header-credit-badge:hover{background:#3b82f61f}.header-credit-badge>svg{flex-shrink:0;opacity:.7}.header-credits-label{font-size:11px;font-weight:500;opacity:.75;line-height:1}.header-credits-value{font-size:12px;font-weight:700;font-family:var(--font-mono);font-variant-numeric:tabular-nums;line-height:1}.credit-tooltip{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:190px;background:var(--color-white);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:10px 12px;display:flex;flex-direction:column;gap:6px;z-index:200;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;transform:translate(-50%) translateY(-4px)}.header-credit-badge:hover .credit-tooltip{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.credit-tooltip-title{font-size:11px;font-weight:600;color:var(--color-dark);letter-spacing:.01em}.credit-tooltip-bar{height:6px;background:var(--color-gray-100);border-radius:3px;overflow:hidden}.credit-tooltip-bar-fill{height:100%;background:var(--color-primary);border-radius:3px;transition:width .3s ease;min-width:2px}.credit-tooltip-count{font-size:11px;font-weight:600;color:var(--color-gray-500);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.user-menu-wrapper{position:relative}.user-avatar-btn{width:34px;height:34px;border-radius:50%;border:2px solid var(--color-border-medium);background:var(--color-dark);color:var(--color-white);font-size:14px;font-weight:700;font-family:var(--font-family);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.user-avatar-btn:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:scale(1.05)}.user-avatar-btn.active{border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f633}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--color-white);border:1px solid var(--color-border-medium);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:200;animation:userDropdownIn .15s ease-out;overflow:hidden}@keyframes userDropdownIn{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.user-dropdown-info{padding:14px 16px;display:flex;flex-direction:column;gap:2px}.user-dropdown-name{font-size:13px;font-weight:700;color:var(--color-dark)}.user-dropdown-email{font-size:11px;color:var(--color-text-secondary)}.user-dropdown-divider{height:1px;background:var(--color-border-light)}.user-dropdown-item{width:100%;padding:10px 16px;border:none;background:transparent;color:var(--color-dark);font-size:13px;font-weight:500;font-family:var(--font-family);cursor:pointer;text-align:left;transition:background .15s ease}.user-dropdown-item:hover{background:var(--color-gray-50)}.user-dropdown-logout{width:100%;padding:10px 16px;border:none;background:transparent;color:var(--color-danger);font-size:13px;font-weight:600;font-family:var(--font-family);cursor:pointer;text-align:left;transition:background .15s ease}.user-dropdown-logout:hover{background:#ef44440f}.dashboard-content{padding:24px 32px;max-width:1600px;margin:0 auto}.page-title-bar{display:flex;align-items:center;gap:12px;margin-bottom:20px}.page-title-icon{font-size:22px;line-height:1}.page-title-text{font-size:20px;font-weight:700;color:var(--color-dark);margin:0;letter-spacing:-.02em}.sticky-filter-bar{position:sticky;top:69px;z-index:90;background:#fffffff7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:12px 24px;margin-bottom:24px;box-shadow:0 2px 12px #0000000a;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.filter-bar-left{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.filter-bar-left .report-info-mini{display:flex;align-items:center;gap:10px;padding-right:16px;border-right:1px solid rgba(15,23,42,.1)}.report-info-mini .report-logo-sm{width:32px;height:auto;opacity:.85}.report-info-mini .report-text h2{font-size:14px;font-weight:700;color:var(--color-dark);margin:0;line-height:1.2}.report-info-mini .report-text .hs-code{font-size:11px;color:var(--color-primary);margin:0}.report-info-mini .report-text .hs-code strong{color:var(--color-dark)}.filter-bar-group{display:flex;flex-direction:column;gap:3px}.filter-bar-group label{font-size:9px;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.06em}.filter-bar-select{background:var(--color-white);border:1.5px solid rgba(59,130,246,.2);border-radius:var(--radius-sm);color:var(--color-dark);padding:6px 10px;font-size:12px;font-weight:600;cursor:pointer;outline:none;transition:all .2s ease;min-width:130px;font-family:var(--font-family)}.filter-bar-select:hover{border-color:var(--color-primary);background:#3b82f60a}.filter-bar-select:focus{border-color:var(--color-dark);box-shadow:0 0 0 2px #3b82f61f}.filter-bar-input{background:var(--color-white);border:1.5px solid rgba(59,130,246,.2);border-radius:var(--radius-sm);color:var(--color-dark);padding:6px 10px;font-size:12px;font-weight:500;outline:none;transition:all .2s ease;width:140px;font-family:var(--font-family)}.filter-bar-input::placeholder{color:#0f172a59}.filter-bar-input:focus{border-color:var(--color-dark);box-shadow:0 0 0 2px #3b82f61f}.date-filter-wrapper{position:relative}.date-filter-btn{display:flex;align-items:center;gap:10px;padding:10px 18px;background:var(--color-dark);border:1px solid var(--color-dark-lighter);border-radius:var(--radius-md);color:var(--color-white);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .25s ease;white-space:nowrap;box-shadow:var(--shadow-sm)}.date-filter-btn:hover{background:var(--color-dark-light);border-color:var(--color-primary);color:var(--color-white);box-shadow:var(--shadow-md);transform:translateY(-1px)}.date-filter-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white);box-shadow:0 0 0 3px #3b82f633}.date-filter-btn svg{opacity:.9;flex-shrink:0;transition:transform .2s ease;color:var(--color-light)}.date-filter-btn.active svg:last-child{transform:rotate(180deg)}.date-filter-backdrop{position:fixed;inset:0;z-index:200}.date-filter-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:280px;background:var(--color-white);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:0 10px 40px #00000014;z-index:201;overflow:hidden;animation:dropdownSlide .2s ease-out}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.custom-picker{width:320px;padding-bottom:16px}.dropdown-header{padding:14px 18px 10px;font-size:var(--font-size-xs);font-weight:700;color:var(--color-dark);text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid rgba(59,130,246,.15);background:#3b82f60a}.picker-inputs{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid rgba(15,23,42,.1)}.picker-separator{color:var(--color-dark);font-weight:700;font-size:var(--font-size-base)}.picker-group{display:flex;flex-direction:column;gap:6px}.picker-group label{font-size:var(--font-size-xs);color:var(--color-primary);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.year-select{background:var(--color-white);border:2px solid rgba(59,130,246,.3);border-radius:var(--radius-md);color:var(--color-dark);padding:8px 12px;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;outline:none;transition:all var(--transition-fast);font-family:var(--font-family)}.year-select:hover{border-color:var(--color-primary);background:#3b82f60d}.year-select:focus{border-color:var(--color-dark);box-shadow:0 0 0 3px #3b82f626}.preset-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:16px 18px}.preset-btn{background:var(--color-bg-hover);border:1px solid rgba(59,130,246,.2);border-radius:var(--radius-md);color:var(--color-dark);padding:9px 8px;font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.preset-btn:hover{background:#3b82f62e;border-color:#3b82f666;color:var(--color-dark);transform:translateY(-1px)}.apply-btn{display:block;width:calc(100% - 36px);margin:0 auto;padding:10px;background:var(--color-primary);border:none;border-radius:var(--radius-md);color:var(--color-white);font-weight:600;font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.apply-btn:hover{background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.dropdown-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 18px;background:transparent;border:none;color:var(--color-dark);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .15s ease;text-align:left}.dropdown-item:hover{background:#3b82f626;color:var(--color-dark)}.dropdown-item.selected{background:#3b82f633;color:var(--color-light)}.dropdown-item.selected svg{color:var(--color-light)}.dropdown-item:last-child{border-top:1px solid rgba(147,197,253,.08);font-weight:600;color:var(--color-primary)}.dropdown-item:last-child:hover{color:var(--color-light)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}.kpi-card{padding:20px 24px;background:var(--color-white);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);text-align:center;transition:all var(--transition-base);border-top:3px solid var(--color-primary)}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.kpi-label{font-size:var(--font-size-xs);font-weight:600;color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.kpi-label.accent{color:var(--color-accent)}.kpi-label.primary{color:var(--color-primary)}.kpi-label.light{color:var(--color-light)}.kpi-value{font-size:var(--font-size-3xl);font-weight:700;color:var(--color-dark);letter-spacing:-.02em;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.kpi-change{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-xs);font-weight:600;margin-top:6px;padding:2px 8px;border-radius:var(--radius-full)}.kpi-change.positive{color:var(--color-success);background:#10b9811a}.kpi-change.negative{color:var(--color-danger);background:#ef44441a}.kpi-change.neutral{color:var(--color-primary);background:#3b82f614}.kpi-range{font-size:10px;font-weight:500;color:#0f172a66;margin-top:4px;letter-spacing:.02em}.kpi-card-competition{position:relative}.kpi-has-tooltip .kpi-tooltip{opacity:0;visibility:hidden;transition:opacity .15s ease-out,visibility .15s ease-out}.kpi-has-tooltip:hover .kpi-tooltip{opacity:1;visibility:visible}.kpi-info-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:#3b82f61a;border-radius:50%;color:var(--color-primary);cursor:pointer;transition:all .15s ease;vertical-align:middle;margin-left:4px;padding:0}.kpi-info-btn:hover{background:#3b82f633;color:var(--color-dark)}.kpi-tooltip{position:absolute;top:8px;right:8px;z-index:99999;background:#0f172af2;color:var(--color-white);padding:10px 14px;border-radius:8px;font-size:11px;font-weight:400;line-height:1.5;max-width:260px;box-shadow:0 4px 16px #00000026;animation:tooltipFadeIn .15s ease-out;pointer-events:none;text-transform:none;letter-spacing:normal}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.info-tooltip-wrapper{position:relative;display:inline-flex;align-items:center;margin-left:6px;vertical-align:middle}.info-tooltip-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:transparent;border-radius:var(--radius-sm);color:#94a3b8;cursor:pointer;transition:all .15s ease;opacity:.6}.info-tooltip-btn:hover{opacity:1;color:var(--color-primary);background:#3b82f614}.info-tooltip-content{opacity:0;visibility:hidden;position:absolute;top:50%;right:calc(100% + 8px);transform:translateY(-50%);z-index:99999;background:#0f172aeb;backdrop-filter:blur(8px);color:#e2e8f0;padding:12px 16px;border-radius:10px;font-size:11.5px;font-weight:400;line-height:1.6;width:280px;box-shadow:0 8px 24px #0003,0 0 0 1px #ffffff0f;pointer-events:none;text-transform:none;letter-spacing:normal;transition:opacity .15s ease-out,visibility .15s ease-out}.info-tooltip-wrapper:hover .info-tooltip-content{opacity:1;visibility:visible;animation:tooltipFadeIn .15s ease-out}.kpi-card .info-tooltip-wrapper{position:absolute;top:12px;right:12px;margin-left:0}.chart-card .info-tooltip-wrapper{position:absolute;top:14px;right:14px;margin-left:0}.chart-card .chart-actions .info-tooltip-wrapper{position:relative;top:auto;right:auto;margin-left:0}.chart-actions{position:absolute;top:14px;right:14px;display:flex;align-items:center;gap:4px;z-index:5}.excel-export-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;transition:all .15s ease;padding:0;opacity:.72}.excel-export-btn:hover{opacity:1;background:#21a3661a}.excel-export-btn:active{transform:scale(.92)}.ai-analyze-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;transition:all .15s ease;padding:0;opacity:.72}.ai-analyze-btn:hover{opacity:1;background:#8b5cf61a}.ai-analyze-btn:active{transform:scale(.92)}.ai-analyze-btn svg{display:block}.ai-panel{border-top:1px solid rgba(139,92,246,.12);background:linear-gradient(135deg,#8b5cf605,#3b82f605);animation:aiPanelSlideDown .25s cubic-bezier(.4,0,.2,1);border-radius:0 0 var(--radius-lg, 12px) var(--radius-lg, 12px)}@keyframes aiPanelSlideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.ai-panel-header{display:flex;align-items:center;justify-content:space-between;padding:6px 14px;border-bottom:1px solid rgba(139,92,246,.06)}.ai-panel-title-group{display:flex;align-items:center;gap:7px}.ai-panel-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:16px;border-radius:4px;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;font-size:8.5px;font-weight:800;letter-spacing:.5px;line-height:1;flex-shrink:0}.ai-panel-title{font-size:11.5px;font-weight:600;color:var(--color-text-secondary);letter-spacing:.2px}.ai-panel-status{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:500;color:#16a34a;margin-left:2px}.ai-panel-status-dot{width:5px;height:5px;border-radius:50%;background:#16a34a;animation:aiStatusPulse 2s ease-in-out infinite}@keyframes aiStatusPulse{0%,to{opacity:1}50%{opacity:.4}}.ai-panel-actions{display:flex;align-items:center;gap:2px}.ai-panel-save{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid rgba(139,92,246,.15);border-radius:6px;background:transparent;color:var(--color-text-secondary);font-size:10.5px;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.ai-panel-save:hover{background:#8b5cf60f;border-color:#8b5cf640;color:var(--color-primary)}.ai-panel-save.saved{background:#8b5cf614;border-color:#8b5cf633;color:#8b5cf6}.ai-panel-save.saved:hover{background:#8b5cf61f}.ai-panel-close{width:22px;height:22px;border:none;border-radius:50%;background:transparent;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.ai-panel-close:hover{background:#8b5cf61a;color:var(--color-text-primary)}.ai-panel-body{padding:12px 14px;max-height:320px;overflow-y:auto}.ai-panel-body::-webkit-scrollbar{width:3px}.ai-panel-body::-webkit-scrollbar-track{background:transparent}.ai-panel-body::-webkit-scrollbar-thumb{background:#8b5cf62e;border-radius:3px}.ai-panel-loading{display:flex;align-items:center;gap:12px;padding:12px 0}.ai-spinner{width:18px;height:18px;border:2px solid rgba(139,92,246,.12);border-top-color:#8b5cf6;border-radius:50%;animation:aiSpin .7s linear infinite;flex-shrink:0}@keyframes aiSpin{to{transform:rotate(360deg)}}.ai-loading-text{display:flex;align-items:center;gap:2px;font-size:12px;color:var(--color-text-secondary)}.ai-loading-dots:after{content:"";animation:aiDots 1.5s steps(4,end) infinite}@keyframes aiDots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.ai-panel-error{display:flex;align-items:flex-start;gap:8px;background:#dc26260d;border:1px solid rgba(220,38,38,.12);border-radius:6px;padding:10px 12px;color:#dc2626;font-size:12px;line-height:1.5}.ai-panel-error svg{flex-shrink:0;margin-top:1px}.ai-panel-content{font-size:12.5px;line-height:1.7;color:var(--color-text-primary)}.ai-panel-content h4{font-size:13px;font-weight:700;color:var(--color-text-primary);margin:0 0 8px;padding-bottom:5px;border-bottom:1px solid rgba(139,92,246,.08)}.ai-panel-content p{margin:0 0 8px}.ai-panel-content p:last-child{margin-bottom:0}.ai-panel-content ul,.ai-panel-content ol{margin:0 0 8px;padding-left:18px}.ai-panel-content li{margin-bottom:4px;padding-left:3px}.ai-panel-content li::marker{color:#8b5cf6}.ai-panel-content strong{font-weight:600;color:var(--color-text-primary)}.ai-panel-content em{font-style:normal;font-weight:500;color:#8b5cf6}.ai-panel-content .highlight-up{color:#16a34a;font-weight:600}.ai-panel-content .highlight-down{color:#dc2626;font-weight:600}.ai-analyze-btn.active{opacity:1;background:#8b5cf61f}.chart-card,.kpi-card{position:relative}@media(max-width:768px){.info-tooltip-content{right:auto;left:calc(100% + 8px)}}.kpi-unit{font-size:14px;font-weight:500;color:var(--color-primary);margin-left:4px;font-family:var(--font-mono)}.charts-grid{display:flex;flex-direction:column;gap:24px}.chart-card{background:var(--color-white);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:20px;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.chart-card:hover{border-color:var(--color-border-medium);box-shadow:var(--shadow-md)}.chart-row{display:grid;grid-template-columns:3fr 2fr;gap:24px}.chart-row-split{display:grid;grid-template-columns:55fr 45fr;gap:24px}.chart-full{grid-column:1 / -1}.data-table-container{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.data-table-wrapper{overflow-x:auto;border-radius:8px;border:1px solid var(--color-border-light)}.data-table-wrapper h3{font-size:var(--font-size-base);font-weight:600;color:var(--color-dark);margin-bottom:12px}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{padding:12px 16px;text-align:left;font-weight:700;color:var(--color-gray-600);background:var(--color-gray-50);border-bottom:2px solid var(--color-border-medium);font-size:11px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.data-table td{padding:11px 16px;color:var(--color-dark);border-bottom:1px solid var(--color-border-light)}.data-table tbody tr:hover td{background:var(--color-bg-hover)}.data-table tbody tr:nth-child(2n) td{background:transparent}.data-table tbody tr:nth-child(2n):hover td{background:var(--color-bg-hover)}.data-table .value-cell{color:var(--color-primary);font-weight:600}.data-table .grand-total td{font-weight:700;color:var(--color-dark);border-top:2px solid rgba(15,23,42,.15)}.data-table tr{transition:background-color .15s}.data-table tr.selected td{background:#3b82f626;font-weight:600}.section-filters{display:flex;gap:12px;align-items:center;margin-bottom:16px}.filter-input{background:var(--color-white);border:1px solid rgba(15,23,42,.15);border-radius:var(--radius-md);color:var(--color-dark);padding:8px 12px;font-size:var(--font-size-sm);outline:none;transition:all var(--transition-fast);width:140px;font-family:var(--font-family)}.filter-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.filter-input::placeholder{color:#0f172a66}.filter-group{display:flex;flex-direction:column;gap:3px}.filter-label{font-size:9px;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em}.filter-number{width:90px!important;padding:6px 10px!important;font-size:12px!important}.clear-selection-btn{background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);color:var(--color-accent);padding:6px 12px;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap;align-self:flex-end}.clear-selection-btn:hover{background:#ef444426;border-color:#ef444466}.sortable-header{cursor:pointer;user-select:none;transition:color .2s}.sortable-header:hover{color:var(--color-primary)}.sort-icon{display:inline-block;margin-left:4px;font-size:10px;vertical-align:middle}.race-chart-section{min-height:400px;display:flex;flex-direction:column}.race-chart-controls{display:flex;align-items:center;gap:12px;margin-bottom:8px}.race-control-btn{background:var(--color-dark);border:none;border-radius:var(--radius-sm);color:var(--color-white);padding:6px 16px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:var(--font-family);white-space:nowrap}.race-control-btn:hover{background:var(--color-dark-light);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.race-month-label{font-size:12px;font-weight:700;color:var(--color-primary);padding:4px 10px;background:var(--color-bg-hover);border-radius:4px;letter-spacing:.02em}.country-table-section{width:100%}.table-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap;gap:12px}.table-title{font-size:16px;font-weight:700;color:var(--color-dark);margin:0}.table-filters-inline{display:flex;gap:12px;align-items:flex-end}.geo-group-dropdown{position:absolute;top:8px;right:8px;z-index:10}.geo-group-select{background:var(--color-white);border:1.5px solid rgba(59,130,246,.3);border-radius:8px;color:var(--color-dark);padding:7px 12px;font-size:12px;font-weight:600;cursor:pointer;outline:none;transition:all .2s ease;min-width:160px;font-family:var(--font-family)}.geo-group-select:hover{border-color:var(--color-primary);background:#3b82f60a}.geo-group-select:focus{border-color:var(--color-dark);box-shadow:0 0 0 3px #3b82f61f}.pagination-container{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--color-border-light);margin-top:16px}.pagination-info{font-size:13px;color:#0f172a80}.pagination-controls{display:flex;align-items:center;gap:8px}.pagination-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid rgba(15,23,42,.15);border-radius:var(--radius-md);background:var(--color-white);color:var(--color-dark);cursor:pointer;transition:all var(--transition-fast)}.pagination-btn:hover:not(:disabled){background:#3b82f61a;border-color:#3b82f64d}.pagination-btn:disabled{opacity:.5;cursor:not-allowed;background:#00000005}.pagination-pages{font-size:var(--font-size-sm);font-weight:500;color:var(--color-dark);margin:0 8px}.tab-navigation{display:flex;gap:4px}.tab-nav-btn{padding:6px 14px;border:1px solid rgba(15,23,42,.12);border-radius:var(--radius-sm);background:transparent;color:var(--color-primary);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:var(--font-family);white-space:nowrap}.tab-nav-btn:hover{background:var(--color-bg-hover);border-color:#3b82f640;color:var(--color-dark)}.tab-nav-btn.active{background:var(--color-dark);border-color:transparent;color:var(--color-white);box-shadow:var(--shadow-sm)}@media(max-width:1200px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.chart-row,.chart-row-split,.data-table-container{grid-template-columns:1fr}.sticky-filter-bar{flex-direction:column;align-items:stretch}.filter-bar-left{flex-wrap:wrap}}@media(max-width:768px){.dashboard-header{padding:10px 16px;flex-wrap:nowrap;gap:8px;height:56px}.header-title,.header-tab-navigation,.header-credits-group{display:none}.mobile-menu-btn{display:flex}.dashboard-content{padding:12px 16px}.kpi-grid{grid-template-columns:1fr}.sticky-filter-bar{top:56px;padding:10px 12px;flex-direction:column;align-items:stretch}.filter-bar-always-visible{display:flex;align-items:center;gap:12px;width:100%}.filter-toggle-btn{display:flex}.filter-bar-collapsible{display:none;flex-direction:column;gap:10px;width:100%;padding-top:10px;border-top:1px solid var(--color-border-light);margin-top:10px}.filters-expanded .filter-bar-collapsible{display:flex}.filters-expanded .filter-toggle-btn svg{transform:rotate(180deg)}.filter-bar-select{min-width:unset;width:100%}.filter-bar-group,.date-filter-wrapper{width:100%}.date-filter-btn{width:100%;justify-content:center}.date-filter-dropdown{right:auto;left:0;width:100%}.user-dropdown{min-width:170px}.excel-export-btn,.ai-analyze-btn,.info-tooltip-btn{width:36px;height:36px}.chart-actions{gap:2px}.user-avatar-btn{width:38px;height:38px}.data-table-wrapper{position:relative}.data-table-wrapper:after{content:"";position:absolute;top:0;right:0;width:24px;height:100%;background:linear-gradient(to left,rgba(255,255,255,.9) 0%,transparent 100%);pointer-events:none;border-radius:0 8px 8px 0}.data-table th,.data-table td{padding:10px 12px;font-size:12px}}.api-error-banner{padding:12px 16px;margin-bottom:16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:13px}.chart-placeholder{display:flex;align-items:center;justify-content:center;font-family:var(--font-family)}.chart-placeholder--error{color:var(--color-accent)}.chart-placeholder--loading{color:var(--color-primary)}.gtip-selector{position:relative;min-width:180px}.gtip-selector-trigger{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--color-white);border:1.5px solid rgba(59,130,246,.2);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;min-height:34px;user-select:none}.gtip-selector-trigger:hover{border-color:var(--color-primary);background:#3b82f60a}.gtip-selector-trigger.open{border-color:var(--color-dark);box-shadow:0 0 0 2px #3b82f61f}.gtip-selector-chevron{flex-shrink:0;color:var(--color-primary);opacity:.6;transition:transform .2s ease;margin-left:auto}.gtip-selector-chevron.open{transform:rotate(180deg)}.gtip-selector-single{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.gtip-selector-code{font-size:12px;font-weight:700;color:var(--color-dark);white-space:nowrap}.gtip-selector-desc{font-size:11px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gtip-selector-chips{display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-width:0}.gtip-chip{position:relative;display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:var(--radius-full);font-size:11px;font-weight:600;color:var(--color-dark);white-space:nowrap;transition:all .15s ease}.gtip-chip:hover{background:#3b82f62e;border-color:#3b82f659}.gtip-chip-code{font-weight:700;font-size:11px;color:var(--color-dark)}.gtip-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:#0f172a1a;color:var(--color-dark);font-size:12px;line-height:1;cursor:pointer;transition:all .15s ease}.gtip-chip-remove:hover{background:#ef444426;color:var(--color-accent)}.gtip-chip-tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#0f172aeb;color:var(--color-white);padding:5px 10px;border-radius:6px;font-size:10px;font-weight:400;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;z-index:10;max-width:280px;overflow:hidden;text-overflow:ellipsis}.gtip-chip:hover .gtip-chip-tooltip{opacity:1;visibility:visible}.gtip-chip-add{display:inline-flex;align-items:center;padding:3px 10px;border:1.5px dashed rgba(59,130,246,.3);border-radius:var(--radius-full);font-size:11px;font-weight:600;color:var(--color-primary);cursor:pointer;transition:all .15s ease}.gtip-chip-add:hover{border-color:var(--color-primary);background:#3b82f60f}.gtip-selector-backdrop{position:fixed;inset:0;z-index:200}.gtip-selector-dropdown{position:absolute;top:calc(100% + 6px);left:0;width:380px;max-height:420px;background:var(--color-white);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:0 10px 40px #0000001a,0 2px 10px #0000000d;z-index:201;display:flex;flex-direction:column;overflow:hidden;animation:gtipDropdownIn .18s ease-out}@keyframes gtipDropdownIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.gtip-search-wrapper{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--color-border-light)}.gtip-search-icon{flex-shrink:0;color:var(--color-primary);opacity:.5}.gtip-search-input{flex:1;border:none;outline:none;font-size:13px;font-weight:500;color:var(--color-dark);background:transparent;font-family:var(--font-family)}.gtip-search-input::placeholder{color:#0f172a59}.gtip-dropdown-mode-info{padding:6px 14px;font-size:10px;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.06em;background:#3b82f60a;border-bottom:1px solid var(--color-border-light)}.gtip-options-list{flex:1;overflow-y:auto;padding:4px 0}.gtip-options-list::-webkit-scrollbar{width:5px}.gtip-options-list::-webkit-scrollbar-track{background:transparent}.gtip-options-list::-webkit-scrollbar-thumb{background:#3b82f633;border-radius:4px}.gtip-options-loading,.gtip-options-empty{padding:24px 14px;text-align:center;font-size:13px;color:var(--color-text-secondary)}.gtip-option{display:flex;align-items:center;gap:8px;width:100%;padding:9px 14px;background:transparent;border:none;font-family:var(--font-family);font-size:12px;color:var(--color-dark);cursor:pointer;text-align:left;transition:background .12s ease}.gtip-option:hover{background:#3b82f614}.gtip-option.selected{background:#3b82f61f}.gtip-option.selected:hover{background:#3b82f62e}.gtip-option.disabled{opacity:.4;cursor:not-allowed}.gtip-option-check{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1.5px solid rgba(59,130,246,.35);border-radius:4px;font-size:10px;font-weight:700;color:transparent;flex-shrink:0;transition:all .15s ease}.gtip-option-check.checked{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.gtip-option-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:2px 6px;background:#3b82f614;border-radius:4px;font-size:10px;font-weight:700;color:var(--color-primary);flex-shrink:0}.gtip-option-code{font-weight:700;color:var(--color-dark);white-space:nowrap;flex-shrink:0}.gtip-option-desc{color:var(--color-text-secondary);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.gtip-view-toggle{display:inline-flex;border:1.5px solid rgba(59,130,246,.2);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-white)}.gtip-view-btn{padding:5px 14px;font-size:11px;font-weight:600;font-family:var(--font-family);color:var(--color-dark);background:transparent;border:none;cursor:pointer;transition:all .15s ease;white-space:nowrap}.gtip-view-btn:not(:last-child){border-right:1.5px solid rgba(59,130,246,.2)}.gtip-view-btn.active{background:var(--color-dark);color:var(--color-white)}.gtip-view-btn:hover:not(.active){background:#3b82f614}.gtip-chip-filter{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px;padding:0 8px}.gtip-chip-filter-btn{padding:3px 10px;font-size:10px;font-weight:600;font-family:var(--font-family);color:var(--color-dark);background:transparent;border:1.5px solid rgba(59,130,246,.25);border-radius:var(--radius-full);cursor:pointer;transition:all .15s ease;white-space:nowrap}.gtip-chip-filter-btn.active{background:var(--color-dark);color:var(--color-white);border-color:transparent}.gtip-chip-filter-btn:hover:not(.active){background:#3b82f614}.gtip-only-bar{justify-content:flex-start}@media(max-width:768px){.gtip-selector-dropdown{width:calc(100vw - 32px);left:-8px}}.mobile-menu-btn{display:none;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-dark);cursor:pointer;transition:background var(--transition-fast) ease;padding:0;flex-shrink:0}.mobile-menu-btn:hover{background:var(--color-bg-hover)}.mobile-nav-backdrop{position:fixed;inset:0;background:#0f172a80;z-index:999;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-nav-drawer{position:fixed;top:0;left:0;width:280px;max-width:85vw;height:100vh;height:100dvh;background:var(--color-white);z-index:1000;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:slideFromLeft .25s ease-out;overflow-y:auto}@keyframes slideFromLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}.mobile-nav-header{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--color-border-light)}.mobile-nav-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-dark);font-family:var(--font-family)}.mobile-nav-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-dark);cursor:pointer;margin-left:auto;padding:0;transition:background var(--transition-fast) ease}.mobile-nav-close:hover{background:#ef444414;color:var(--color-danger)}.mobile-nav-links{flex:1;padding:12px 0;display:flex;flex-direction:column}.mobile-nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:14px 24px;border:none;background:transparent;color:var(--color-dark);font-size:14px;font-weight:600;font-family:var(--font-family);cursor:pointer;text-align:left;transition:all var(--transition-fast) ease}.mobile-nav-item:hover{background:var(--color-bg-hover)}.mobile-nav-item.active{background:#3b82f61a;color:var(--color-primary);border-right:3px solid var(--color-primary)}.mobile-nav-icon{font-size:18px;width:24px;text-align:center;flex-shrink:0}.mobile-nav-label{flex:1}.mobile-nav-footer{padding:16px 24px;border-top:1px solid var(--color-border-light)}.mobile-nav-credits{display:flex;gap:16px;font-size:12px;font-weight:600;color:var(--color-primary);font-family:var(--font-mono)}.filter-toggle-btn{display:none;align-items:center;gap:6px;padding:6px 12px;border:1.5px solid rgba(59,130,246,.2);border-radius:var(--radius-sm);background:transparent;color:var(--color-primary);font-size:11px;font-weight:600;cursor:pointer;font-family:var(--font-family);margin-left:auto;white-space:nowrap;transition:all var(--transition-fast) ease;flex-shrink:0}.filter-toggle-btn:hover{background:#3b82f60f}.filter-toggle-btn svg{transition:transform .2s ease}.filter-bar-always-visible,.filter-bar-collapsible{display:contents}@media(max-width:768px){.mobile-menu-btn,.filter-toggle-btn{display:flex}.header-tab-navigation,.header-credits-group,.header-title{display:none}.sticky-filter-bar{position:relative;top:auto}.dashboard,.dashboard-content{overflow-x:hidden}}@media(max-width:480px){.dashboard-header{padding:8px 12px}.dashboard-content{padding:10px 12px}.page-title-text{font-size:17px}.page-title-icon{font-size:18px}.kpi-card{padding:14px 16px}.kpi-value{font-size:var(--font-size-2xl)}.chart-card{padding:14px}.chart-row,.chart-row-split{gap:16px}.date-filter-dropdown.custom-picker{width:calc(100vw - 24px);position:fixed;inset:auto 0 0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:70vh;overflow-y:auto}}
