:root{--bg-color:#05070a;--card-bg:#1e293b66;--border-color:#ffffff14;--text-main:#f8fafc;--text-muted:#94a3b8;--primary:#6366f1;--secondary:#06b6d4;--accent:#d946ef;--success:#10b981;--glass-shadow:0 8px 32px 0 #0000005e;--font-family:"Outfit", sans-serif;--transition:all .3s ease}body.light-theme{--bg-color:#f1f5f9;--card-bg:#ffffffb3;--border-color:#00000014;--text-main:#0f172a;--text-muted:#64748b;--glass-shadow:0 8px 32px 0 #1f268712}body.light-theme .blob{opacity:.1}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-main);font-family:var(--font-family);min-height:100vh;transition:background-color .5s,color .5s;overflow-x:hidden}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.blob{filter:blur(80px);opacity:.15;z-index:-1;border-radius:50%;width:600px;height:600px;position:fixed}.blob.magenta{background:var(--accent);animation:20s infinite alternate floating;top:-100px;right:-100px}.blob.cyan{background:var(--secondary);animation:25s infinite alternate-reverse floating;bottom:-100px;left:-100px}.grid-overlay{z-index:-1;background-image:radial-gradient(circle at 2px 2px,#ffffff08 1px,#0000 0);background-size:40px 40px;position:fixed;inset:0}@keyframes floating{0%{transform:translate(0)scale(1)}to{transform:translate(30px,50px)scale(1.1)}}header{padding:2rem 0}.header-content{justify-content:space-between;align-items:center;display:flex}.logo h1{letter-spacing:-.5px;font-size:1.5rem;font-weight:800}.logo h1 span{background:linear-gradient(135deg, var(--primary), var(--secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.header-right{align-items:center;gap:1.5rem;display:flex}.btn-icon{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;width:40px;height:40px;transition:var(--transition);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.btn-icon:hover{background:var(--primary);color:#fff;transform:scale(1.1)}.glass{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);box-shadow:var(--glass-shadow);border-radius:1.5rem}main{padding:2rem 0 4rem}#upload-section{text-align:center;margin-bottom:2rem;padding:4rem 2rem}.upload-area{cursor:pointer;border:2px dashed #ffffff1a;border-radius:1.5rem;padding:3rem;transition:all .3s}.upload-area:hover,.upload-area.drag-over{border-color:var(--primary);background:#6366f10d}.upload-icon{margin-bottom:1.5rem;font-size:4rem}.upload-area h2{margin-bottom:.5rem;font-weight:600}.upload-area p{color:var(--text-muted);margin-bottom:2rem}.format-tip{color:var(--text-muted);opacity:.7;margin-top:1.5rem;font-size:.8rem}.btn-primary{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;cursor:pointer;border:none;border-radius:.75rem;padding:.8rem 2rem;font-family:inherit;font-weight:600;transition:transform .2s,box-shadow .2s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 15px #6366f166}.btn-secondary{border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:.75rem;padding:.5rem 1.2rem;font-family:inherit;transition:all .2s}.btn-secondary:hover{border-color:var(--text-muted);color:var(--text-main)}#dashboard-section{flex-direction:column;gap:2rem;display:flex}.dashboard-header{justify-content:space-between;align-items:center;display:flex}.badge{color:var(--secondary);background:#ffffff0d;border-radius:.5rem;margin-top:.5rem;padding:.25rem .75rem;font-size:.75rem;display:inline-block}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;display:grid}.stat-card{flex-direction:column;padding:1.5rem;display:flex}.stat-label{color:var(--text-muted);margin-bottom:.5rem;font-size:.85rem}.stat-value{background:linear-gradient(135deg, #fff, var(--text-muted));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:2.5rem;font-weight:800}.stat-trend{color:var(--text-muted);font-size:.8rem}.stat-trend.up{color:var(--success)}.charts-layout{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=900px){.charts-layout{grid-template-columns:1fr}}.chart-container,.full-width-card{padding:1.5rem}.chart-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.chart-header h3{color:var(--text-main);font-size:1.1rem;font-weight:600}.filter-controls{gap:.75rem;display:flex}.chart-actions{background:#ffffff08;border-radius:.5rem;gap:.5rem;padding:.25rem;display:flex}.btn-chart-type{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:.4rem;padding:.3rem .6rem;font-family:inherit;font-size:.75rem;transition:all .2s}.btn-chart-type.active{background:var(--primary);color:#fff}.canvas-wrapper{width:100%;height:300px;position:relative}.canvas-wrapper.taller{height:400px}.animate-in{animation:.8s ease-out forwards fadeIn}.animate-slide-up{opacity:0;animation:.6s ease-out forwards slideUp;transform:translateY(20px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{to{opacity:1;transform:translateY(0)}}.hidden{display:none!important}.form-select{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.2rem;border-radius:.5rem;outline:none;padding:.5rem 2rem .5rem 1rem;font-family:inherit}.form-select option{color:#f8fafc;background-color:#1a1f2e}body.light-theme .form-select option{color:#1e293b;background-color:#fff}footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border-color);margin-top:2rem;padding:2rem 0;font-size:.8rem}
