@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";
:root{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-card:#ffffff08;--bg-card-hover:#ffffff0f;--bg-glass:#ffffff0d;--border:#ffffff14;--border-hover:#ffffff26;--text-primary:#f0f0f5;--text-secondary:#fff9;--text-muted:#ffffff59;--accent:#6366f1;--accent-light:#818cf8;--accent-glow:#6366f14d;--success:#10b981;--success-glow:#10b98133;--danger:#ef4444;--warning:#f59e0b;--radius:16px;--radius-sm:10px;--radius-xs:6px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.bg-grid{z-index:0;pointer-events:none;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:60px 60px;position:fixed;inset:0}.bg-glow{background:radial-gradient(ellipse,var(--accent-glow)0%,transparent 70%);z-index:0;pointer-events:none;opacity:.5;width:800px;height:600px;position:fixed;top:-200px;left:50%;transform:translate(-50%)}.container{z-index:1;max-width:1200px;margin:0 auto;padding:0 24px;position:relative}.hero{text-align:center;padding:80px 0 48px}.hero-badge{background:var(--bg-glass);border:1px solid var(--border);color:var(--accent-light);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:100px;align-items:center;gap:8px;margin-bottom:24px;padding:6px 16px;font-size:.8rem;font-weight:500;display:inline-flex}.hero-badge .dot{background:var(--success);border-radius:50%;width:6px;height:6px;animation:2s infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.hero h1{letter-spacing:-.03em;background:linear-gradient(135deg,#fff 30%,var(--accent-light)100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:16px;font-size:clamp(2.2rem,5vw,3.8rem);font-weight:800;line-height:1.1}.hero p{color:var(--text-secondary);max-width:540px;margin:0 auto 36px;font-size:1.1rem;line-height:1.6}.trust-badges{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:48px;display:flex}.badge{background:var(--bg-glass);border:1px solid var(--border);color:var(--text-secondary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:100px;align-items:center;gap:6px;padding:8px 16px;font-size:.82rem;font-weight:500;transition:all .3s;display:inline-flex}.badge:hover{border-color:var(--border-hover);background:var(--bg-card-hover);transform:translateY(-1px)}.badge .icon{font-size:1rem}.upload-section{margin-bottom:48px}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;background:var(--bg-card);padding:64px 40px;transition:all .3s;position:relative;overflow:hidden}.upload-zone:before{content:"";background:radial-gradient(circle at center,var(--accent-glow)0%,transparent 60%);opacity:0;transition:opacity .4s;position:absolute;inset:0}.upload-zone:hover,.upload-zone.dragging{border-color:var(--accent);background:var(--bg-card-hover)}.upload-zone:hover:before,.upload-zone.dragging:before{opacity:.3}.upload-zone .upload-icon{z-index:1;margin-bottom:16px;font-size:3rem;position:relative}.upload-zone h3{z-index:1;margin-bottom:8px;font-size:1.2rem;font-weight:600;position:relative}.upload-zone p{color:var(--text-muted);z-index:1;font-size:.9rem;position:relative}.upload-zone .browse-btn{color:var(--accent-light);text-underline-offset:3px;font-weight:600;text-decoration:underline}.upload-zone input[type=file]{display:none}.file-info{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;margin-top:16px;padding:16px 20px;animation:.3s slideUp;display:flex}.file-info .file-details{align-items:center;gap:12px;display:flex}.file-info .file-icon{border-radius:var(--radius-xs);background:#ef44441a;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;display:flex}.file-info .file-name{font-size:.9rem;font-weight:600}.file-info .file-size{color:var(--text-muted);font-size:.8rem}.file-info .remove-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:none;padding:4px 8px;font-size:1.2rem;transition:all .2s}.file-info .remove-btn:hover{color:var(--danger);background:#ef44441a}.convert-btn{background:linear-gradient(135deg,var(--accent)0%,#4f46e5 100%);border-radius:var(--radius-sm);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:16px;padding:16px 32px;font-family:inherit;font-size:1rem;font-weight:600;transition:all .3s;display:flex;position:relative;overflow:hidden}.convert-btn:before{content:"";opacity:0;background:linear-gradient(135deg,#0000 0%,#ffffff1a 100%);transition:opacity .3s;position:absolute;inset:0}.convert-btn:hover:not(:disabled):before{opacity:1}.convert-btn:hover:not(:disabled){box-shadow:0 8px 32px var(--accent-glow);transform:translateY(-2px)}.convert-btn:disabled{opacity:.5;cursor:not-allowed}.spinner{border:2.5px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.progress-section{margin-top:16px;animation:.3s slideUp}.progress-bar-bg{background:var(--bg-glass);border-radius:100px;width:100%;height:6px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,var(--accent),var(--accent-light));border-radius:100px;height:100%;transition:width .5s}.progress-text{color:var(--text-muted);justify-content:space-between;margin-top:8px;font-size:.8rem;display:flex}.results-section{margin-bottom:80px;animation:.5s slideUp}.results-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.results-header h2{align-items:center;gap:10px;font-size:1.4rem;font-weight:700;display:flex}.results-header .row-count{color:var(--text-muted);font-size:.85rem;font-weight:400}.download-btn{background:linear-gradient(135deg,var(--success)0%,#059669 100%);border-radius:var(--radius-sm);color:#fff;cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 24px;font-family:inherit;font-size:.9rem;font-weight:600;transition:all .3s;display:inline-flex}.download-btn:hover{box-shadow:0 8px 24px var(--success-glow);transform:translateY(-2px)}.metadata-card{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:24px;padding:20px;display:grid}.metadata-item{flex-direction:column;gap:4px;display:flex}.metadata-item .label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:500}.metadata-item .value{color:var(--text-primary);font-size:.9rem;font-weight:600}.table-wrapper{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);max-height:600px;overflow:auto}.table-wrapper::-webkit-scrollbar{width:6px;height:6px}.table-wrapper::-webkit-scrollbar-track{background:0 0}.table-wrapper::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.table-wrapper::-webkit-scrollbar-thumb:hover{background:#fff3}.data-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:.82rem}.data-table thead{z-index:2;position:sticky;top:0}.data-table th{text-align:left;background:var(--bg-secondary);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);padding:12px 16px;font-size:.75rem;font-weight:600}.data-table td{color:var(--text-secondary);border-bottom:1px solid #ffffff08;padding:10px 16px;transition:background .15s}.data-table tr:hover td{background:#ffffff05}.data-table .amount-dr{color:var(--danger);font-variant-numeric:tabular-nums;font-weight:600}.data-table .amount-cr{color:var(--success);font-variant-numeric:tabular-nums;font-weight:600}.data-table .dr-cr-badge{letter-spacing:.05em;border-radius:4px;align-items:center;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-flex}.data-table .dr-cr-badge.dr{color:var(--danger);background:#ef44441a}.data-table .dr-cr-badge.cr{color:var(--success);background:#10b9811a}.how-it-works{border-top:1px solid var(--border);padding:80px 0}.how-it-works h2{text-align:center;margin-bottom:48px;font-size:1.8rem;font-weight:700}.steps-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;display:grid}.step-card{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:32px 24px;transition:all .3s}.step-card:hover{border-color:var(--border-hover);transform:translateY(-4px);box-shadow:0 12px 40px #0000004d}.step-number{background:linear-gradient(135deg,var(--accent),#4f46e5);border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:16px;font-size:1.2rem;font-weight:700;display:inline-flex}.step-card h3{margin-bottom:8px;font-size:1.05rem;font-weight:600}.step-card p{color:var(--text-muted);font-size:.85rem;line-height:1.5}.faq-section{border-top:1px solid var(--border);padding:80px 0}.faq-section h2{text-align:center;margin-bottom:48px;font-size:1.8rem;font-weight:700}.faq-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;display:grid}.faq-item{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-sm);padding:24px;transition:all .3s}.faq-item:hover{border-color:var(--border-hover)}.faq-item h3{color:var(--text-primary);margin-bottom:8px;font-size:.95rem;font-weight:600}.faq-item p{color:var(--text-muted);font-size:.85rem;line-height:1.6}.footer{text-align:center;border-top:1px solid var(--border);color:var(--text-muted);padding:40px 0;font-size:.8rem}.error-message{border-radius:var(--radius-sm);color:var(--danger);background:#ef444414;border:1px solid #ef444433;align-items:center;gap:10px;margin-top:16px;padding:14px 20px;font-size:.9rem;font-weight:500;animation:.3s slideUp;display:flex}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.hero{padding:48px 0 32px}.upload-zone{padding:40px 24px}.results-header{flex-direction:column;align-items:flex-start}.metadata-card{grid-template-columns:repeat(2,1fr)}.faq-grid{grid-template-columns:1fr}}@media (max-width:480px){.trust-badges{flex-direction:column;align-items:center}.metadata-card{grid-template-columns:1fr}}
