@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;700&family=Manrope:wght@400;500;600;700&display=swap";@tailwind base;@tailwind components;@tailwind utilities;:root{--highlight: #3fcf8e;--red: #e46161;--blue: #2facff;--yellow: #d4a03f;--background: #ffffff;--surface: #f8f9fa;--dark-surface: #e9ecef;--text: #212529;--text-secondary: #6c757d;--text-tertiary: #adb5bd;--success-bg: #d4f4dd;--success-text: #198754;--error-bg: #f8d7da;--error-text: #dc3545}[data-theme=dark]{--highlight: #3fcf8e;--red: #e46161;--blue: #2facff;--yellow: #ebeb81;--background: #1c1c1c;--surface: #232323;--dark-surface: #141414;--text: #ededed;--text-secondary: #707070;--text-tertiary: #919191;--success-bg: #081d13;--success-text: #bee7c5;--error-bg: #3d1414;--error-text: #ffc1c1}*{box-sizing:border-box;transition:background-color .2s ease,color .2s ease,border-color .2s ease}html,body,#root{width:100%;min-height:100%}html,body{margin:0;padding:0;background-color:var(--background);color:var(--text);font-family:Noto Sans,system-ui,-apple-system,sans-serif}html{scroll-behavior:smooth}button,input,select{font:inherit}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.shimmer{background:linear-gradient(90deg,var(--surface) 0%,var(--dark-surface) 50%,var(--surface) 100%);background-size:1000px 100%;animation:shimmer 2s infinite}.glass{background:rgba(var(--surface-rgb, 248, 249, 250),.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.lp{--lp-max: 1120px;color:var(--text);font-family:Noto Sans,system-ui,-apple-system,sans-serif}.container:has(.lp){max-width:none;padding:0}.lp h1,.lp h2,.lp h3{font-family:Space Grotesk,Noto Sans,sans-serif;color:var(--text);margin:0}.lp section{scroll-margin-top:88px}.lp-nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:20px;max-width:var(--lp-max);margin:0 auto;padding:14px 20px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg-0) 72%,transparent);border-bottom:1px solid var(--line)}.lp-logo{display:inline-flex;align-items:center;gap:9px;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.02rem;color:var(--text);text-decoration:none;white-space:nowrap}.lp-logo-mark{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--mint),#0d9470);color:#04241a;flex-shrink:0}.lp-nav-links{display:flex;gap:22px;margin-left:12px;flex:1}.lp-nav-links a{color:var(--text-muted);text-decoration:none;font-size:.92rem;padding:8px 2px;transition:color .18s ease}.lp-nav-links a:hover{color:var(--text)}.lp-nav-actions{display:flex;align-items:center;gap:10px}.lp-btn-primary,.lp-btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:12px;font:inherit;font-weight:600;font-size:.95rem;cursor:pointer;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}.lp-btn-primary{border:none;background:linear-gradient(135deg,var(--amber),#d97706);color:#241303;box-shadow:0 8px 24px #f59e0b47}.lp-btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 30px #f59e0b5c}.lp-btn-primary:active{transform:translateY(0) scale(.98)}.lp-btn-ghost{border:1px solid var(--line);background:transparent;color:var(--text)}.lp-btn-ghost:hover{border-color:#8fd6ff73;background:#8fd6ff12}.lp-btn-lg{min-height:50px;padding:13px 26px;font-size:1.02rem}.lp-btn-block{width:100%;margin-top:18px}.lp-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:transparent;color:var(--text-muted);cursor:pointer;transition:color .16s ease,border-color .16s ease}.lp-icon-btn:hover{color:var(--text);border-color:#8fd6ff73}.lp :is(a,button,summary):focus-visible{outline:2px solid var(--mint);outline-offset:2px;border-radius:8px}.lp-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;max-width:var(--lp-max);margin:0 auto;padding:72px 20px 56px}.lp-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:999px;border:1px solid var(--mint-soft);background:#10b9811a;color:var(--mint);font-size:.82rem;font-weight:600;margin-bottom:22px}.lp-hero h1{font-size:clamp(2rem,4.6vw,3.15rem);line-height:1.14;letter-spacing:-.02em;margin-bottom:18px}.lp-hero h1 em{font-style:normal;color:var(--mint)}.lp-hero-sub{color:var(--text-muted);font-size:1.08rem;line-height:1.65;max-width:34rem;margin:0 0 28px}.lp-hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:26px}.lp-trust{display:flex;flex-wrap:wrap;gap:18px;list-style:none;padding:0;margin:0;color:var(--text-muted);font-size:.88rem}.lp-trust li{display:inline-flex;align-items:center;gap:6px}.lp-trust svg{color:var(--mint);flex-shrink:0}.lp-preview{border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(155deg,var(--card),var(--card-2));box-shadow:var(--shadow);padding:16px;min-width:0}.lp-preview-bar{display:flex;align-items:center;gap:6px;margin-bottom:14px}.lp-dot{width:10px;height:10px;border-radius:50%;background:var(--line)}.lp-preview-title{margin-left:8px;font-size:.75rem;color:var(--text-muted);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lp-preview-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.lp-kpi{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#06141e73;display:grid;gap:3px;min-width:0}.lp-kpi-label{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.lp-kpi-value{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.08rem;font-variant-numeric:tabular-nums}.lp-kpi-up{display:inline-flex;align-items:center;gap:4px;color:var(--mint);font-size:.72rem;font-weight:600}.lp-kpi-muted{color:var(--text-muted);font-size:.72rem}.lp-preview-charts{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;margin-bottom:12px}.lp-chart-line{width:100%;height:118px;border:1px solid var(--line);border-radius:12px;background:#06141e73;padding:10px}.lp-chart-bars{border:1px solid var(--line);border-radius:12px;background:#06141e73;padding:12px;display:grid;gap:8px;align-content:center}.lp-bar-row{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:8px}.lp-bar-name{font-size:.66rem;color:var(--text-muted);white-space:nowrap}.lp-bar-track{height:8px;border-radius:4px;background:#8fd6ff1a;overflow:hidden}.lp-bar-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--mint),#2dd4bf)}.lp-preview-tags{display:flex;flex-wrap:wrap;gap:8px}.lp-tag{font-size:.72rem;padding:5px 10px;border-radius:999px;border:1px solid var(--line);color:var(--text-muted);font-variant-numeric:tabular-nums}.lp-tag-mint{color:var(--mint);border-color:var(--mint-soft);background:#10b98114}.lp-tag-amber{color:var(--amber);border-color:var(--amber-soft);background:#f59e0b14}.lp-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:var(--lp-max);margin:0 auto;padding:0 20px 26px}.lp-metric{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;background:#0a1e2b80;padding:14px 16px;min-width:0}.lp-metric svg{color:var(--mint);flex-shrink:0}.lp-metric strong{display:block;font-size:.94rem}.lp-metric span{display:block;color:var(--text-muted);font-size:.78rem;margin-top:2px}.lp-section{max-width:var(--lp-max);margin:0 auto;padding:64px 20px}.lp-section h2{font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:-.015em;text-align:center;margin-bottom:12px}.lp-section-sub{text-align:center;color:var(--text-muted);max-width:40rem;margin:0 auto 40px;line-height:1.6}.lp-features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}.lp-feature{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(155deg,var(--card),var(--card-2));padding:22px;transition:transform .2s ease,border-color .2s ease}.lp-feature:hover{transform:translateY(-3px);border-color:#10b98166}.lp-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#10b9811f;color:var(--mint);margin-bottom:14px}.lp-feature h3{font-size:1.04rem;margin-bottom:8px}.lp-feature p{color:var(--text-muted);font-size:.9rem;line-height:1.6;margin:0}.lp-steps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:14px;align-items:stretch;margin-top:40px}.lp-step{border:1px solid var(--line);border-radius:var(--radius);background:#0a1e2b80;padding:24px;text-align:center}.lp-step-no{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--mint),#0d9470);color:#04241a;font-family:Space Grotesk,sans-serif;font-weight:700;margin-bottom:14px}.lp-step h3{font-size:1.02rem;margin-bottom:8px}.lp-step p{color:var(--text-muted);font-size:.88rem;line-height:1.6;margin:0}.lp-step-arrow{display:flex;align-items:center;color:var(--text-muted)}.lp-pricing{display:grid;grid-template-columns:repeat(2,minmax(0,400px));justify-content:center;gap:20px;margin-top:40px}.lp-price-card{position:relative;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(155deg,var(--card),var(--card-2));padding:28px}.lp-price-featured{border-color:#f59e0b73;box-shadow:0 18px 48px #f59e0b1a}.lp-price-tag{position:absolute;top:-12px;right:20px;padding:4px 12px;border-radius:999px;background:linear-gradient(135deg,var(--amber),#d97706);color:#241303;font-size:.74rem;font-weight:700}.lp-price-card h3{font-size:1.15rem;margin-bottom:10px}.lp-price{color:var(--text-muted);font-size:.95rem;margin-bottom:20px}.lp-price-num{font-family:Space Grotesk,sans-serif;font-size:2.3rem;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.lp-price-card ul{list-style:none;padding:0;margin:0;display:grid;gap:11px}.lp-price-card li{display:flex;align-items:center;gap:9px;font-size:.92rem;color:var(--text)}.lp-price-card li svg{color:var(--mint);flex-shrink:0}.lp-faq{max-width:720px;margin:36px auto 0;display:grid;gap:12px}.lp-faq-item{border:1px solid var(--line);border-radius:14px;background:#0a1e2b80;overflow:hidden}.lp-faq-item summary{cursor:pointer;padding:17px 20px;font-weight:600;font-size:.98rem;list-style:none;position:relative;min-height:44px;display:flex;align-items:center}.lp-faq-item summary::-webkit-details-marker{display:none}.lp-faq-item summary:after{content:"+";position:absolute;right:20px;color:var(--mint);font-size:1.3rem;font-weight:400;transition:transform .2s ease}.lp-faq-item[open] summary:after{transform:rotate(45deg)}.lp-faq-item p{padding:0 20px 18px;margin:0;color:var(--text-muted);font-size:.92rem;line-height:1.65}.lp-final{max-width:var(--lp-max);margin:0 auto;padding:72px 20px;text-align:center}.lp-final h2{font-size:clamp(1.4rem,3vw,2rem);margin-bottom:12px}.lp-final p{color:var(--text-muted);margin:0 0 28px}.lp-footer{border-top:1px solid var(--line);max-width:var(--lp-max);margin:0 auto;padding:30px 20px 40px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;color:var(--text-muted);font-size:.85rem}.lp-footer-brand{display:inline-flex;align-items:center;gap:9px}.lp-footer-links{display:flex;align-items:center;gap:20px}.lp-footer-links a{color:var(--text-muted);text-decoration:none;padding:8px 0}.lp-footer-links a:hover{color:var(--text)}.lp-footer-login{background:none;border:none;color:var(--text-muted);font:inherit;cursor:pointer;padding:8px 0}.lp-footer-login:hover{color:var(--text)}.auth-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;background:#020a1099;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:lpFadeIn .2s ease-out}.auth-overlay .login-card{margin:0;max-height:90dvh;overflow-y:auto;position:relative}.auth-close{position:absolute;top:12px;right:12px;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--text-muted);cursor:pointer;font-size:1.1rem;line-height:1}.auth-close:hover{color:var(--text)}@keyframes lpFadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:960px){.lp-hero{grid-template-columns:1fr;gap:36px;padding-top:48px}.lp-features,.lp-metrics{grid-template-columns:repeat(2,1fr)}.lp-steps{grid-template-columns:1fr}.lp-step-arrow{justify-content:center;transform:rotate(90deg)}.lp-nav-links{display:none}}@media(max-width:620px){.lp-features,.lp-metrics,.lp-pricing,.lp-preview-charts{grid-template-columns:1fr}.lp-btn-ghost.lp-btn-lg,.lp-btn-primary.lp-btn-lg{width:100%}.lp-nav{gap:10px}.lp-nav .lp-btn-ghost{display:none}.lp-footer{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){.lp *,.auth-overlay{animation:none!important;transition:none!important}.lp-feature:hover,.lp-btn-primary:hover{transform:none}}:root{--bg-0: #061019;--bg-1: #0b1f2d;--bg-2: #15384b;--card: rgba(10, 30, 43, .78);--card-2: rgba(18, 46, 63, .76);--line: rgba(143, 214, 255, .18);--text: #e9fbff;--text-muted: rgba(207, 239, 255, .68);--mint: #10b981;--mint-soft: rgba(16, 185, 129, .25);--amber: #f59e0b;--amber-soft: rgba(245, 158, 11, .24);--rose: #f43f5e;--indigo: #2dd4bf;--radius: 18px;--shadow: 0 22px 60px rgba(0, 0, 0, .36)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Manrope,Segoe UI,Tahoma,sans-serif;min-height:100vh;color:var(--text);background:var(--bg-0)}.app{min-height:100vh;position:relative;overflow-x:hidden}.bg-gradient{position:fixed;inset:0;background:radial-gradient(900px 500px at 85% 10%,rgba(16,185,129,.18),transparent 70%),radial-gradient(700px 420px at 20% 85%,rgba(245,158,11,.12),transparent 68%),linear-gradient(145deg,var(--bg-0) 0%,var(--bg-1) 50%,var(--bg-2) 100%);z-index:-3}.bg-gradient:before,.bg-gradient:after{content:"";position:absolute;border-radius:50%;filter:blur(70px);opacity:.46;animation:floatGlow 18s ease-in-out infinite}.bg-gradient:before{width:380px;height:380px;top:-90px;right:12%;background:#10b98152}.bg-gradient:after{width:340px;height:340px;bottom:-100px;left:12%;background:#f59e0b47;animation-delay:4s}@keyframes floatGlow{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(22px,-18px,0) scale(1.08)}}.container{max-width:1220px;margin:0 auto;padding:34px 18px 48px}.header{text-align:center;margin-bottom:24px;display:flex;flex-direction:column;align-items:center;gap:12px}.header-controls{display:flex;align-items:center;gap:12px;margin-top:12px}.theme-toggle{width:40px;height:40px;border:1px solid var(--line);border-radius:8px;background:#0a1e2b80;color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.theme-toggle:hover{background:#10b98126;border-color:#10b98180;color:var(--mint);transform:scale(1.05)}.theme-toggle:active{transform:scale(.95)}.header h1{font-family:Space Grotesk,sans-serif;font-size:clamp(2rem,4vw,3.1rem);font-weight:700;line-height:1.05;letter-spacing:-.02em;color:var(--text);text-shadow:0 12px 40px rgba(0,0,0,.35)}.header p{margin-top:10px;color:var(--text-muted);font-size:1.03rem}.auth-badge{margin-top:12px;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(143,214,255,.26);border-radius:999px;background:#ffffff0f;color:#effdff;padding:6px 10px;font-size:.82rem}.login-card{width:min(520px,100%);margin:0 auto 20px;border-radius:16px;border:1px solid var(--line);background:linear-gradient(145deg,#0a1f2ee6,#081824e6);box-shadow:var(--shadow);padding:22px 18px}.login-card h2{font-family:Space Grotesk,sans-serif;color:#ecfeff;margin-bottom:6px;font-size:1.25rem}.login-card p{color:var(--text-muted);font-size:.9rem;margin-bottom:14px}.login-form{display:grid;gap:10px}.login-form input{width:100%;border-radius:4px;border:1px solid rgba(56,189,248,.35);background:#041621d1;color:#ecfeff;padding:11px 12px;min-height:40px;font-size:.95rem;transition:all .2s ease}.login-form input:focus{outline:none;border-color:#3fcf8eb8;box-shadow:0 0 0 3px #3fcf8e33;background:#041621f2}.error-message{text-align:center;margin-bottom:22px;padding:12px 16px;border-radius:12px;color:#ffd4dc;background:linear-gradient(180deg,#f43f5e33,#f43f5e21);border:1px solid rgba(255,132,158,.4)}.file-upload-container{margin-bottom:20px}.file-upload-zone{position:relative;border-radius:var(--radius);border:1.5px dashed rgba(63,207,142,.35);background:linear-gradient(155deg,#0f2b3ce0,#091d2acc);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 4px 12px #3fcf8e14;padding:42px 22px;text-align:center;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);will-change:transform,border-color,box-shadow}.file-upload-zone:before{content:"";position:absolute;inset:1px;border-radius:calc(var(--radius) - 1px);pointer-events:none;background:linear-gradient(120deg,#3fcf8e0f,#f59e0b0f)}.file-upload-zone:hover{transform:translateY(-3px) scale(1.01);border-color:#3fcf8ea6;box-shadow:0 12px 32px #3fcf8e33}.file-upload-zone.drag-active{border-color:#3fcf8ed9;background:linear-gradient(145deg,#0f3f43eb,#0a272ddb);box-shadow:0 16px 40px #3fcf8e40;transform:scale(1.02)}.file-upload-zone.loading{pointer-events:none;opacity:.8;animation:pulse 2s ease-in-out infinite}.upload-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px}.upload-icon{font-size:2.3rem;filter:drop-shadow(0 6px 12px rgba(0,0,0,.35));animation:bounce 2s ease-in-out infinite;display:inline-block}.upload-content p{font-size:1.08rem;color:#f3fdff}.upload-hint{color:var(--text-muted);font-size:.86rem}.upload-error{margin-top:12px;border-radius:10px;background:#f43f5e33;border:1px solid rgba(244,63,94,.4);color:#ffd4dc;padding:10px 14px;font-size:.87rem}.progress-box{border-radius:14px;border:1px solid rgba(56,189,248,.3);background:linear-gradient(150deg,#072635e0,#0a212cd1);padding:16px 18px;margin-bottom:22px;box-shadow:var(--shadow)}.progress-text{color:#e9fdff;font-weight:600;margin-bottom:10px}.progress-bar{height:10px;border-radius:999px;background:#ffffff14;overflow:hidden;border:1px solid rgba(143,214,255,.2)}.progress-fill{height:100%;background:linear-gradient(90deg,#14b8a6,#10b981 35%,#f59e0b);transition:width .35s ease;background-size:190% 100%;animation:shimmer 2.2s linear infinite}@keyframes shimmer{0%{background-position:0 0}to{background-position:190% 0}}.progress-detail{margin-top:8px;color:var(--text-muted);font-size:.84rem}.file-info{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:12px 16px;margin-bottom:18px;border-radius:12px;border:1px solid rgba(16,185,129,.35);background:linear-gradient(145deg,#10b98130,#08252da6);color:#d7fff4}.reset-btn{border:1px solid rgba(63,207,142,.35);background:linear-gradient(135deg,#3fcf8e1f,#3fcf8e14);color:#d8f7ff;padding:8px 14px;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.reset-btn:hover{background:linear-gradient(135deg,#3fcf8e33,#3fcf8e24);border-color:#3fcf8e99;transform:translateY(-1px);box-shadow:0 4px 12px #3fcf8e26}.datasets-section{margin-top:20px}.datasets-section h3{color:#ecfeff;font-family:Space Grotesk,sans-serif;font-size:1.1rem;margin-bottom:12px}.datasets-list{display:grid;grid-template-columns:1fr;gap:10px}.dataset-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:12px;border:1px solid var(--line);background:linear-gradient(145deg,#0a1f2ed1,#081723d9);padding:14px 16px;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);will-change:transform,border-color,box-shadow}.dataset-item:hover{transform:translateY(-2px);border-color:#3fcf8e80;background:linear-gradient(145deg,#0a1f2ef2,#081723f2);box-shadow:0 8px 24px #3fcf8e26}.dataset-info{display:flex;flex-direction:column;gap:2px}.dataset-name{color:#ecfeff;font-weight:600}.dataset-meta{color:var(--text-muted);font-size:.82rem}.dataset-delete{background:transparent;border:none;font-size:1.1rem;cursor:pointer;opacity:.75}.dataset-delete:hover{opacity:1}.user-admin-card{margin-top:16px;border-radius:14px;border:1px solid var(--line);background:linear-gradient(145deg,#0a1f2ed1,#081723d9);padding:14px}.user-admin-card h3{color:#ecfeff;font-size:1rem;margin-bottom:10px}.user-create-form{display:grid;grid-template-columns:1.4fr 1.2fr 1fr .8fr auto;gap:8px;margin-bottom:10px}.user-create-form input,.user-create-form select{border-radius:4px;border:1px solid rgba(56,189,248,.35);background:#031520d1;color:#ecfeff;padding:9px 10px;min-height:40px;font-size:.9rem;transition:all .2s ease}.user-create-form input:focus,.user-create-form select:focus{outline:none;border-color:#3fcf8eb8;box-shadow:0 0 0 2px #3fcf8e26}.users-table{display:grid;gap:8px}.user-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(143,214,255,.18);border-radius:10px;padding:8px 10px;background:#ffffff08;opacity:0;transform:translateY(-5px);animation:fadeInUp .3s ease-out forwards;transition:all .2s ease;will-change:transform,border-color,background}.user-row:nth-child(1){animation-delay:50ms}.user-row:nth-child(2){animation-delay:90ms}.user-row:nth-child(3){animation-delay:.13s}.user-row:nth-child(4){animation-delay:.17s}.user-row:nth-child(5){animation-delay:.21s}.user-row:nth-child(n+6){animation-delay:.25s}.user-row:hover{border-color:#3fcf8e66;background:#3fcf8e14;transform:translateY(-2px)}.user-info-line{display:flex;flex-direction:column;gap:2px}.user-info-line strong{color:#effdff;font-size:.88rem}.user-info-line span{color:var(--text-muted);font-size:.78rem}.mapping-section{position:relative}.mapper-container{border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(150deg,#0a1e2ce8,#0a1823e6);box-shadow:var(--shadow);padding:24px 20px}.mapper-header{text-align:center;margin-bottom:20px}.mapper-header h2{font-family:Space Grotesk,sans-serif;font-size:1.4rem;color:#ecfeff}.mapper-header p{margin-top:6px;color:var(--text-muted)}.auto-badge{display:inline-block;margin-top:10px;border-radius:999px;padding:6px 12px;background:var(--mint-soft);border:1px solid rgba(16,185,129,.45);color:#b4ffe4;font-size:.8rem}.mapper-grid{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;opacity:0;transform:translateY(10px);animation:fadeInUp .5s ease-out forwards}.mapper-row{display:grid;grid-template-columns:220px 1fr;gap:12px;align-items:center;border:1px solid rgba(143,214,255,.14);border-radius:12px;padding:10px 12px;background:#ffffff08;opacity:0;transform:translate(-10px);animation:slideInLeft .4s ease-out forwards;transition:all .2s ease}.mapper-row:nth-child(1){animation-delay:60ms}.mapper-row:nth-child(2){animation-delay:.11s}.mapper-row:nth-child(3){animation-delay:.16s}.mapper-row:nth-child(4){animation-delay:.21s}.mapper-row:nth-child(5){animation-delay:.26s}.mapper-row:nth-child(6){animation-delay:.31s}.mapper-row:nth-child(7){animation-delay:.36s}.mapper-row:nth-child(8){animation-delay:.41s}.mapper-row:nth-child(9){animation-delay:.46s}.mapper-row.required{border-color:#3fcf8e73}.mapper-row:hover,.mapper-row:focus-within{border-color:#3fcf8ea6;background:#3fcf8e14;box-shadow:0 4px 12px #3fcf8e1a;transform:translateY(-2px)}.mapper-label{display:flex;flex-direction:column;gap:3px}.field-name{color:#ecfeff;font-weight:600}.required-star{color:#fb7185;margin-left:3px}.field-hint{color:var(--text-muted);font-size:.77rem}.mapper-select{display:flex;flex-direction:column;gap:4px}.mapper-select select{width:100%;background:#031520d1;color:#ecfeff;border:1px solid rgba(56,189,248,.35);border-radius:4px;padding:10px 11px;min-height:40px;cursor:pointer;transition:all .2s ease;font-size:.9rem}.mapper-select select:focus{outline:none;border-color:#3fcf8eb8;box-shadow:0 0 0 3px #3fcf8e33}.mapper-select select option{background:#0a1f2c}.sample-value{color:#bae9ffc7;font-size:.78rem}.mapper-actions{display:flex;justify-content:center;gap:12px;opacity:0;transform:translateY(10px);animation:fadeInUp .6s ease-out .5s forwards}.btn-cancel,.btn-submit{border-radius:4px;padding:11px 24px;min-height:40px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center}.btn-cancel{border:1px solid rgba(255,255,255,.25);background:#ffffff0f;color:#effdff}.btn-cancel:hover{background:#ffffff1f;border-color:#fff6;transform:translateY(-1px)}.btn-submit{border:1px solid rgba(63,207,142,.45);background:linear-gradient(125deg,#0ea5a4,#3fcf8e 55%,#f59e0b);color:#042114;font-weight:700;box-shadow:0 4px 12px #3fcf8e33}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 8px 24px #3fcf8e59;border-color:#3fcf8eb3}.btn-submit:active{transform:translateY(-1px)}.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.loading-overlay{position:absolute;inset:0;border-radius:var(--radius);background:#040c13a6;display:flex;align-items:center;justify-content:center;color:#effdff;font-weight:600}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.kpi-card{display:flex;align-items:center;gap:12px;min-height:102px;border-radius:14px;border:1px solid var(--line);background:linear-gradient(145deg,var(--card),var(--card-2));padding:14px;box-shadow:var(--shadow);transition:all .3s cubic-bezier(.34,1.56,.64,1);will-change:transform,border-color,box-shadow}.kpi-card:hover{transform:translateY(-3px) scale(1.01);border-color:#3fcf8e80;box-shadow:0 12px 32px #3fcf8e33}.kpi-card.clickable{cursor:pointer}.kpi-icon{width:46px;height:46px;border-radius:11px;background:linear-gradient(145deg,#10b9813d,#f59e0b3d);display:flex;align-items:center;justify-content:center;font-size:1.46rem;flex-shrink:0}.kpi-content{min-width:0;flex:1}.kpi-title{color:var(--text-muted);font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;margin-bottom:4px}.kpi-value{font-size:1.2rem;font-weight:700;color:#effdff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-arrow{color:#cfefff80}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:14px}.chart-card{border-radius:14px;border:1px solid var(--line);background:linear-gradient(145deg,#0a1c29e0,#08141feb);padding:16px;box-shadow:var(--shadow);position:relative;overflow:hidden;transition:all .3s cubic-bezier(.34,1.56,.64,1);will-change:transform,border-color,box-shadow}.chart-card:hover{transform:translateY(-2px);border-color:#3fcf8e66;box-shadow:0 12px 32px #3fcf8e26}.chart-card h3{color:#ecfeff;font-size:.98rem;margin-bottom:10px;font-family:Space Grotesk,sans-serif}.pareto-list{margin-top:8px;border-top:1px solid rgba(143,214,255,.14);padding-top:8px;display:grid;grid-template-columns:1fr;gap:6px;max-height:200px;overflow-y:auto}.pareto-row{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:8px;border:1px solid rgba(143,214,255,.16);border-radius:8px;padding:6px 8px;background:#ffffff05}.pareto-rank{color:#fff1ba;background:#f59e0b38;border-radius:6px;text-align:center;font-size:.75rem;font-weight:700;padding:3px 4px}.pareto-name{color:#ecfeff;font-size:.78rem}.pareto-value{color:#d8f7ff;font-size:.75rem;font-weight:600;white-space:nowrap}.heatmap-card{grid-column:1 / -1}.heatmap-grid{display:grid;gap:6px;overflow-x:auto;padding-bottom:4px}.heatmap-head{border-radius:8px;border:1px solid rgba(143,214,255,.22);background:#ffffff0a;color:#d8f7ff;font-size:.76rem;font-weight:700;text-align:center;padding:8px 6px;white-space:nowrap}.heatmap-brand{border-radius:8px;border:1px solid rgba(143,214,255,.16);background:#ffffff08;color:#ecfeff;font-size:.76rem;font-weight:600;padding:8px 10px;display:flex;align-items:center}.heatmap-cell{border-radius:8px;border:1px solid rgba(255,255,255,.1);color:#fff;font-size:.69rem;text-align:center;padding:8px 6px;min-height:36px;display:grid;place-items:center}.heatmap-legend{margin-top:10px;display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--text-muted);font-size:.74rem}.heatmap-legend-bar{width:120px;height:10px;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:linear-gradient(90deg,#1f7ae0,#15d4ff 35%,#ffe600 65%,#ff006e)}.modal-overlay{position:fixed;inset:0;background:#03080ebd;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:1200;display:grid;place-items:center;padding:16px;opacity:0;animation:fadeIn .3s ease-out forwards}.modal-content{width:min(560px,100%);max-height:82vh;overflow-y:auto;border-radius:16px;border:1px solid rgba(56,189,248,.32);background:linear-gradient(150deg,#0a2230f5,#07141ef5);padding:20px;position:relative;opacity:0;transform:scale(.95) translateY(20px);animation:modalSlideIn .4s cubic-bezier(.34,1.56,.64,1) forwards}.modal-content h2{font-family:Space Grotesk,sans-serif;font-size:1.2rem;color:#ecfeff;margin-bottom:14px}.modal-summary{color:var(--text-muted);font-size:.84rem;margin-bottom:12px}.modal-close{position:absolute;top:10px;right:10px;border:none;background:transparent;color:#ecfeff;font-size:1.3rem;cursor:pointer}.modal-list{list-style:none;display:flex;flex-direction:column;gap:8px}.modal-list li{display:flex;align-items:center;gap:10px;border:1px solid rgba(143,214,255,.2);border-radius:10px;padding:10px;background:#ffffff08;opacity:0;transform:translate(-10px);animation:slideInLeft .3s ease-out forwards;transition:all .2s ease}.modal-list li:nth-child(1){animation-delay:.1s}.modal-list li:nth-child(2){animation-delay:.14s}.modal-list li:nth-child(3){animation-delay:.18s}.modal-list li:nth-child(4){animation-delay:.22s}.modal-list li:nth-child(5){animation-delay:.26s}.modal-list li:nth-child(n+6){animation-delay:.3s}.modal-list li:hover{border-color:#3fcf8e80;background:#3fcf8e1a;transform:translate(4px)}.modal-rank{min-width:42px;text-align:center;border-radius:8px;background:var(--amber-soft);color:#fff0c4;padding:4px 6px;font-weight:700}.modal-name{color:#effdff}.modal-name-wrap{flex:1;display:flex;flex-direction:column;gap:2px}.modal-extra{color:var(--text-muted);font-size:.74rem}.modal-value{color:#b7ffe9;font-weight:700}@media(max-width:1120px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.container{padding:22px 14px 34px}.charts-grid,.mapper-row,.user-create-form{grid-template-columns:1fr}.field-hint{display:none}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-card,.chart-card,.mapper-row,.dataset-item,.user-row{transition:all .2s ease}.kpi-card:hover{transform:translateY(-2px) scale(1.005)}.mapper-row:hover,.mapper-row:focus-within{transform:translateY(-1px)}}@media(max-width:560px){.kpi-grid{grid-template-columns:1fr}.btn-cancel,.btn-submit{width:100%}.mapper-actions{flex-direction:column}.kpi-card,.chart-card,.mapper-row,.dataset-item,.user-row{transition:all .15s ease;will-change:auto}.kpi-card:hover{transform:translateY(-1px) scale(1);box-shadow:0 4px 12px #3fcf8e1a}.mapper-row:hover,.mapper-row:focus-within{transform:translateY(0);box-shadow:none}.file-upload-zone:hover{transform:translateY(-1px) scale(1)}.file-upload-zone.drag-active{transform:scale(1)}}:root{--fx-cyan: #22d3ee;--fx-teal: #2dd4bf;--fx-emerald: #34d399;--fx-amber: #f59e0b;--fx-card: rgba(6, 24, 38, .78);--fx-card-2: rgba(8, 34, 52, .72);--fx-line: rgba(94, 234, 212, .28);--fx-glow: 0 0 0 1px rgba(45, 212, 191, .22), 0 16px 40px rgba(2, 10, 16, .65)}body{background:radial-gradient(1200px 680px at 86% 6%,rgba(45,212,191,.14),transparent 70%),radial-gradient(900px 560px at 12% 88%,rgba(245,158,11,.1),transparent 72%),linear-gradient(152deg,#030a11,#061827 43%,#0a2a3c)}.bg-gradient{background:radial-gradient(1100px 620px at 84% 8%,rgba(34,211,238,.14),transparent 66%),radial-gradient(960px 590px at 9% 88%,rgba(245,158,11,.12),transparent 70%),linear-gradient(155deg,#02070d,#071826 45%,#0b2b3d)}.bg-gradient:before{width:520px;height:520px;top:-140px;right:8%;background:radial-gradient(circle at 40% 40%,#2dd4bf70,#2dd4bf05 70%)}.bg-gradient:after{width:420px;height:420px;bottom:-120px;left:8%;background:radial-gradient(circle at 50% 50%,#f59e0b5c,#f59e0b0a 68%)}.app:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;background-image:linear-gradient(rgba(124,245,227,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(124,245,227,.05) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:radial-gradient(circle at 50% 40%,rgba(0,0,0,.75),transparent 78%);mask-image:radial-gradient(circle at 50% 40%,rgba(0,0,0,.75),transparent 78%)}.header h1{letter-spacing:-.03em;text-shadow:0 12px 40px rgba(0,0,0,.45),0 0 24px rgba(34,211,238,.22)}.header p{letter-spacing:.01em}.file-info{border:1px solid rgba(52,211,153,.36);background:linear-gradient(120deg,#2dd4bf29,#082230a8),linear-gradient(155deg,#092434e6,#05121cdb);box-shadow:var(--fx-glow)}.reset-btn{background:linear-gradient(135deg,#ffffff1f,#2dd4bf1f);border:1px solid rgba(180,255,241,.26)}.kpi-card,.chart-card,.mapper-container,.dataset-item,.progress-box,.modal-content{-webkit-backdrop-filter:blur(13px) saturate(124%);backdrop-filter:blur(13px) saturate(124%);background:linear-gradient(140deg,var(--fx-card),var(--fx-card-2));border:1px solid var(--fx-line);box-shadow:var(--fx-glow)}.kpi-card,.chart-card{position:relative;overflow:hidden}.kpi-card:before,.chart-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(34,211,238,.1),rgba(245,158,11,.07) 40%,transparent 70%);opacity:.68}.kpi-card:after{content:"";position:absolute;top:0;right:-36%;width:42%;height:100%;transform:skew(-20deg);background:linear-gradient(180deg,rgba(255,255,255,.18),transparent);opacity:0;transition:right .45s ease,opacity .45s ease}.kpi-card:hover:after{right:115%;opacity:.55}.kpi-card:hover{transform:translateY(-3px) scale(1.01);border-color:#22d3ee85}.kpi-icon{background:linear-gradient(145deg,#2dd4bf59,#f59e0b42);border:1px solid rgba(178,255,232,.24);box-shadow:0 8px 20px #030c1399}.kpi-title{color:#d0faf6b8;letter-spacing:.07em}.kpi-value{font-family:Space Grotesk,sans-serif;font-size:clamp(1.25rem,1.6vw,1.9rem)}.chart-card h3{position:relative;padding-left:10px;letter-spacing:.01em}.chart-card h3:before{content:"";position:absolute;left:0;top:4px;width:3px;height:calc(100% - 8px);border-radius:999px;background:linear-gradient(180deg,var(--fx-cyan),var(--fx-emerald),var(--fx-amber));box-shadow:0 0 16px #22d3ee85}.trend-card{grid-column:1 / -1}.file-upload-zone{border-style:solid;border-color:#7efce842;background:linear-gradient(145deg,#082233e6,#04141fd6);box-shadow:var(--fx-glow)}.file-upload-zone:hover{border-color:#22d3ee9e;transform:translateY(-2px) scale(1.005)}.mapper-row{background:linear-gradient(140deg,#061622d1,#091e2cb8)}.mapper-row:focus-within{border-color:#22d3ee94;box-shadow:0 0 0 2px #22d3ee24}.mapper-select select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,#8cf6e7 50%),linear-gradient(135deg,#8cf6e7 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% - 3px),calc(100% - 10px) calc(50% - 3px);background-size:6px 6px,6px 6px;background-repeat:no-repeat}.mapper-select select:hover{border-color:#22d3ee9e}.btn-submit{background:linear-gradient(130deg,#19c2bb,#34d399 52%,#f59e0b);color:#022f2a;border-color:#b6fff159;box-shadow:0 12px 26px #14b8a64d}.btn-cancel{background:linear-gradient(135deg,#ffffff14,#22d3ee14)}.datasets-section h3{letter-spacing:.015em}.dataset-item:hover{box-shadow:0 14px 34px #02090f99}@media(max-width:900px){.kpi-value{font-size:1.4rem}.chart-card{padding:14px}}.kpi-grid .kpi-card{opacity:0;transform:translateY(10px) scale(.985);animation:cardReveal .52s cubic-bezier(.2,.75,.2,1) forwards}.kpi-grid .kpi-card:nth-child(1){animation-delay:40ms}.kpi-grid .kpi-card:nth-child(2){animation-delay:90ms}.kpi-grid .kpi-card:nth-child(3){animation-delay:.14s}.kpi-grid .kpi-card:nth-child(4){animation-delay:.19s}.kpi-grid .kpi-card:nth-child(5){animation-delay:.24s}.kpi-grid .kpi-card:nth-child(6){animation-delay:.29s}.kpi-grid .kpi-card:nth-child(7){animation-delay:.34s}.kpi-grid .kpi-card:nth-child(8){animation-delay:.39s}.kpi-grid .kpi-card:nth-child(9){animation-delay:.44s}.kpi-icon{position:relative}.kpi-icon:after{content:"";position:absolute;inset:-6px;border-radius:inherit;border:1px solid rgba(34,211,238,.22);opacity:0;animation:iconPulse 2.8s ease-out infinite}.charts-grid .chart-card{opacity:0;transform:translateY(14px);animation:chartReveal .62s cubic-bezier(.2,.75,.2,1) forwards}.charts-grid .chart-card:nth-child(1){animation-delay:80ms}.charts-grid .chart-card:nth-child(2){animation-delay:.14s}.charts-grid .chart-card:nth-child(3){animation-delay:.2s}.charts-grid .chart-card:nth-child(4){animation-delay:.26s}.charts-grid .chart-card:nth-child(5){animation-delay:.32s}.charts-grid .chart-card:nth-child(6){animation-delay:.38s}.charts-grid .chart-card:nth-child(7){animation-delay:.44s}@keyframes cardReveal{to{opacity:1;transform:translateY(0) scale(1)}}@keyframes chartReveal{to{opacity:1;transform:translateY(0)}}@keyframes iconPulse{0%{opacity:0;transform:scale(.94)}25%{opacity:.52}to{opacity:0;transform:scale(1.2)}}.kpi-growth{display:inline-block;margin-top:4px;font-size:.78rem;font-weight:700;padding:2px 7px;border-radius:12px;letter-spacing:.02em}.growth-up{background:#3fcf8e2e;color:#3fcf8e}.growth-down{background:#e461612e;color:#e46161}.smart-kpi-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.smart-kpi-row .kpi-card{flex:1 1 160px;min-width:140px}.concentration-banner{padding:12px 18px;border-radius:10px;margin-bottom:16px;font-size:.92rem;font-weight:500}.banner-danger{background:#e4616126;border:1px solid rgba(228,97,97,.4);color:#f8a0a0}.banner-warn{background:#ebeb811f;border:1px solid rgba(235,235,129,.35);color:#ebebab}.quality-badge{display:inline-block;margin-left:10px;padding:2px 10px;border-radius:12px;font-size:.78rem;font-weight:600;cursor:default}.quality-good{background:#3fcf8e2e;color:#3fcf8e}.quality-warn{background:#ebeb8126;color:#ebebab}.quality-bad{background:#e461612e;color:#e46161}.sheet-select-card{background:var(--card-bg, rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:24px;max-width:480px;margin:24px auto}.sheet-select-card h3{margin:0 0 16px;font-size:1rem;color:#cfefffe6}.sheet-list{display:flex;flex-direction:column;gap:8px}.sheet-btn{display:block;width:100%;padding:10px 16px;text-align:left;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#cfefffe6;font-size:.92rem;cursor:pointer;transition:background .15s,border-color .15s}.sheet-btn:hover,.sheet-btn.active{background:#3fcf8e26;border-color:#3fcf8e80;color:#3fcf8e}.sheet-btn:disabled{opacity:.5;cursor:not-allowed}.rfm-card{grid-column:1 / -1}.rfm-alert{background:#e4616126;border:1px solid rgba(228,97,97,.35);border-radius:8px;padding:10px 16px;margin-bottom:16px;font-size:.9rem;color:#f8a0a0}
