@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-primary:#0b1120;--bg-secondary:#1e293b;--bg-panel:#0f172a99;--bg-button:#ffffff0d;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-primary:#06b6d4;--accent-secondary:#0ea5e9;--accent-glow:#06b6d433;--border-color:#ffffff1a;--border-highlight:#06b6d480;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--transition-fast:.15s ease-in-out;--transition-normal:.3s ease-in-out;--shadow-glow:0 0 20px var(--accent-glow);--shadow-panel:0 10px 25px -5px #00000080, 0 8px 10px -6px #00000080;--shadow-dropzone:0 0 40px #0000004d inset}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;min-height:100vh;line-height:1.5;display:flex}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-secondary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.text-center{text-align:center}.flex-center{justify-content:center;align-items:center;display:flex}.dropzone-container{border:2px dashed var(--border-color);background-color:var(--bg-panel);width:100%;max-width:800px;height:320px;transition:all var(--transition-normal);cursor:pointer;border-radius:16px;justify-content:center;align-items:center;margin:0 auto;display:flex;position:relative;overflow:hidden}.dropzone-container:before{content:"";background:radial-gradient(circle at center, var(--accent-glow) 0%, transparent 70%);opacity:0;transition:opacity var(--transition-normal);pointer-events:none;position:absolute;inset:0}.dropzone-container:hover,.dropzone-container.active{border-color:var(--accent-primary);box-shadow:var(--shadow-dropzone);background-color:#0f172acc}.dropzone-container:hover:before,.dropzone-container.active:before{opacity:1}.file-input{display:none}.dropzone-label{cursor:pointer;z-index:10;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:2rem;display:flex}.icon-wrapper{background-color:var(--bg-button);border:1px solid var(--border-color);width:64px;height:64px;transition:all var(--transition-normal);border-radius:50%;justify-content:center;align-items:center;margin-bottom:1.5rem;display:flex}.dropzone-container:hover .icon-wrapper{border-color:var(--accent-primary);box-shadow:0 0 15px var(--accent-glow);background-color:#06b6d41a}.upload-icon{width:32px;height:32px;color:var(--accent-primary)}.dropzone-title{color:var(--text-primary);margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.dropzone-subtitle{color:var(--text-muted);font-size:.875rem}.badge-container{background-color:var(--bg-button);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(8px);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);cursor:default;border-radius:9999px;align-items:center;gap:.5rem;padding:.5rem 1rem;display:inline-flex}.badge-container:hover{border-color:var(--border-highlight);box-shadow:var(--shadow-glow)}.badge-icon{color:var(--accent-primary);font-size:1rem;display:flex}.badge-text{color:var(--accent-primary);letter-spacing:.025em;font-size:.875rem;font-weight:500}.sidebar{background-color:var(--bg-panel);border-right:1px solid var(--border-color);flex-direction:column;width:250px;height:100vh;padding:2rem 1rem;display:flex;position:sticky;top:0}.sidebar-logo{align-items:center;gap:12px;margin-bottom:3rem;padding:0 1rem;display:flex}.logo-icon{background:var(--accent-primary);color:#0b1120;letter-spacing:1px;border-radius:8px;padding:8px 12px;font-size:1.2rem;font-weight:800}.sidebar-logo h2{color:#fff;margin:0;font-size:1.2rem;font-weight:600}.sidebar-nav{flex-direction:column;gap:.5rem;display:flex}.nav-item{color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;font-size:1rem;font-weight:500;transition:all .2s;display:flex}.nav-item:hover{color:#fff;background:#ffffff0d}.nav-item.active{color:var(--accent-primary);background:#38b2ac26}.chart-controls{z-index:50;position:relative}.settings-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex}.settings-btn:hover{color:#fff;background:#ffffff1a}.chart-type-menu{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;background:#0f172af2;border:1px solid #ffffff1a;border-radius:8px;min-width:140px;margin-top:.5rem;padding:.5rem;position:absolute;top:100%;right:0;box-shadow:0 10px 25px #00000080}.menu-item{color:var(--text-primary);cursor:pointer;border-radius:4px;padding:.5rem 1rem;font-size:.85rem;transition:background .2s}.menu-item:hover{background:#ffffff1a}.menu-item.active{background:var(--accent-primary);color:#0b1120;font-weight:700}.log-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#000000b3;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.log-modal-content{background:var(--bg-panel);border-radius:12px;width:90%;max-width:500px;padding:2rem;position:relative;box-shadow:0 20px 50px #00000080}.log-modal-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.log-modal-header h4{color:#fff;margin:0;font-size:1.25rem}.close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;display:flex}.close-btn:hover{color:#fff;background:#ffffff1a}.log-table{border-collapse:collapse;width:100%}.log-table td{border-bottom:1px solid #ffffff0d;padding:.75rem}.log-key{color:var(--text-muted);text-transform:capitalize;width:40%;font-weight:500}.log-value{color:#fff;font-weight:600}.dashboard-wrapper{padding-bottom:5rem;animation:.5s ease-in-out fadeIn}.dashboard-header{background-color:var(--bg-panel);border:1px solid var(--border-color);border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem 2rem;display:flex;box-shadow:0 4px 6px #0003}.dashboard-header h2{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:.25rem;font-size:1.5rem;font-weight:600}.btn-secondary{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);background-color:#0000;border-radius:8px;padding:.6rem 1.2rem;font-weight:500}.btn-secondary:hover{border-color:var(--text-muted);background-color:#ffffff1a}.btn-primary{background-color:var(--accent-primary);border:1px solid var(--accent-primary);color:#0b1120;cursor:pointer;transition:all var(--transition-fast);border-radius:8px;padding:.6rem 1.2rem;font-weight:600}.btn-primary:hover{background-color:var(--accent-secondary);border-color:var(--accent-secondary)}.report-page{background-color:var(--bg-panel);border:1px solid #ffffff0d;border-radius:12px;width:100%;max-width:1200px;margin:0 auto 4rem;padding:3rem 4rem;box-shadow:0 10px 40px #0000004d}.page-header{border-bottom:1px solid var(--border-color);margin-bottom:2.5rem;padding-bottom:1.5rem}.page-header h1{color:var(--text-primary);margin-bottom:.5rem;font-size:2rem;font-weight:700}.page-header p{color:var(--text-muted);font-size:1.1rem}.grid-2x1{grid-template-columns:1fr;gap:2rem;display:grid}.grid-2x2{grid-template-columns:repeat(2,1fr);gap:2rem;display:grid}.glass-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:#0f172a66;border:1px solid #ffffff14;border-radius:12px;padding:1.5rem;transition:transform .2s,box-shadow .2s}.glass-panel:hover{border-color:#ffffff26;transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.glass-panel h3{color:var(--text-primary);letter-spacing:.02em;align-items:center;margin-bottom:1.5rem;font-size:1rem;font-weight:500;display:flex}.glass-panel h3:before{content:"";background-color:var(--accent-primary);border-radius:2px;width:4px;height:16px;margin-right:10px;display:inline-block}.chart-container{width:100%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media print{@page{margin:0;size:A4 portrait}body,.app-container{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#0b1120!important}.no-print{display:none!important}.report-page{box-shadow:none;page-break-after:always;border:none;border-radius:0;min-height:100vh;margin:0;padding:2rem}.glass-panel{break-inside:avoid;page-break-inside:avoid;box-shadow:none!important;border:1px solid #fff3!important}}.reports-container{width:100%;max-width:1200px;margin:0 auto;padding:3rem}.reports-header{margin-bottom:2rem}.reports-header h1{color:#fff;margin-bottom:.5rem;font-size:2rem}.reports-header p{color:var(--text-muted);font-size:1.1rem}.reports-table{border-collapse:collapse;width:100%}.reports-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid #ffffff1a;padding:1rem;font-size:.85rem;font-weight:600}.reports-table td{color:#fff;vertical-align:middle;border-bottom:1px solid #ffffff0d;padding:1rem}.file-badge{color:#63b3ed;background:#4299e133;border-radius:20px;padding:4px 10px;font-size:.85rem;font-weight:500}.action-buttons{justify-content:flex-end;gap:8px;display:flex}.btn-icon{color:var(--text-primary);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.btn-icon:hover{color:#fff;background:#ffffff26}.btn-icon.primary{color:#4fd1c5;background:#38b2ac1a;border-color:#38b2ac4d}.btn-icon.primary:hover{color:#81e6d9;background:#38b2ac4d}.empty-state{text-align:center;color:var(--text-muted);padding:4rem;font-size:1.1rem}.loading-spinner{text-align:center;color:var(--accent-primary);margin-top:5rem;font-size:1.2rem;font-weight:500}.app-container{text-align:left;background-image:radial-gradient(circle at top,#1e293b80 0%,#0000 50%);flex-direction:row;min-height:100vh;display:flex;position:relative}.main-content{flex-direction:column;flex:1;width:100%;max-width:1000px;margin:0 auto;padding:4rem 2rem;display:flex}.header-section{margin-bottom:3rem;animation:.8s ease-out forwards fadeInDown}.hero-title{color:var(--text-primary);letter-spacing:-.02em;margin:1.5rem 0;font-size:4rem;font-weight:700;line-height:1.1}.hero-subtitle{color:var(--text-secondary);max-width:600px;margin:0 auto;font-size:1.125rem}.upload-section{opacity:0;margin-bottom:2rem;animation:1s ease-out .3s forwards fadeIn}.action-section{opacity:0;animation:.8s ease-out .6s forwards fadeInUp}.demo-btn{background-color:var(--bg-panel);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;display:inline-flex}.demo-btn:hover{border-color:var(--text-muted);color:var(--text-primary)}.footer-toolbar{z-index:50;opacity:0;animation:.8s ease-out .8s forwards fadeInUp;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
