:root{--bg-primary:#0b0f19;--bg-secondary:#111827;--bg-tertiary:#1a2234;--bg-elevated:#1f293d;--bg-card:rgba(26,34,52,.75);--border-subtle:hsla(0,0%,100%,.08);--border-strong:hsla(0,0%,100%,.16);--border-focus:#3b82f6;--text-primary:#f9fafb;--text-secondary:#9ca3af;--text-muted:#6b7280;--accent-primary:#2563eb;--accent-hover:#1d4ed8;--accent-gradient:linear-gradient(135deg,#3b82f6,#1d4ed8 50%,#7c3aed);--accent-glow:rgba(59,130,246,.25);--success:#10b981;--success-bg:rgba(16,185,129,.12);--success-border:rgba(16,185,129,.3);--warning:#f59e0b;--warning-bg:rgba(245,158,11,.12);--warning-border:rgba(245,158,11,.3);--danger:#ef4444;--danger-bg:rgba(239,68,68,.12);--danger-border:rgba(239,68,68,.3);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 2px 8px rgba(0,0,0,.3);--shadow-md:0 8px 24px rgba(0,0,0,.4);--shadow-lg:0 16px 48px rgba(0,0,0,.5);--shadow-glow:0 0 40px var(--accent-glow);--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:"JetBrains Mono","Fira Code",monospace}*{box-sizing:border-box;margin:0;padding:0}body,html{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}a{color:inherit;text-decoration:none}.glass-panel{background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:all .25s cubic-bezier(.16,1,.3,1)}.glass-panel:hover{border-color:var(--border-strong)}.gradient-text{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline-block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;font-size:.95rem;font-weight:600;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;border:1px solid transparent;white-space:nowrap}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:0 4px 14px rgba(37,99,235,.35)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(37,99,235,.5)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-subtle)}.btn-secondary:hover{background:var(--bg-elevated);border-color:var(--border-strong)}.btn-success{background:var(--success);color:#fff;box-shadow:0 4px 14px rgba(16,185,129,.35)}.btn-success:hover{background:#059669;transform:translateY(-1px)}.btn-outline{background:transparent;border:1px solid var(--border-strong);color:var(--text-primary)}.btn-outline:hover{background:hsla(0,0%,100%,.05);border-color:var(--accent-primary)}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:.78rem;font-weight:600;border-radius:9999px;text-transform:uppercase;letter-spacing:.04em}.badge-success{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.badge-warning{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.badge-danger{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.badge-neutral{background:hsla(0,0%,100%,.06);color:var(--text-secondary);border:1px solid var(--border-subtle)}.ambient-glow{position:absolute;top:-200px;left:50%;transform:translateX(-50%);width:900px;height:500px;background:radial-gradient(circle,rgba(59,130,246,.15) 0,rgba(124,58,237,.08) 45%,transparent 70%);filter:blur(80px);pointer-events:none;z-index:0}.spreadsheet-container{width:100%;overflow-x:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-secondary)}.spreadsheet-table{width:100%;border-collapse:collapse;font-size:.88rem}.spreadsheet-table th{background:var(--bg-tertiary);color:var(--text-secondary);font-weight:600;padding:12px 14px;text-align:left;border-bottom:1px solid var(--border-strong);white-space:nowrap;position:-webkit-sticky;position:sticky;top:0;z-index:10}.spreadsheet-table td{padding:10px 14px;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);white-space:nowrap}.spreadsheet-table tr:hover{background:hsla(0,0%,100%,.03)}.cell-amount-credit{color:#34d399}.cell-amount-credit,.cell-amount-debit{font-family:var(--font-mono);font-weight:600;text-align:right}.cell-amount-debit{color:#f87171}.cell-balance{font-family:var(--font-mono);color:var(--text-primary);font-weight:500;text-align:right}.cell-input{background:transparent;border:1px solid transparent;color:inherit;font-family:inherit;font-size:inherit;padding:4px 8px;border-radius:var(--radius-sm);width:100%;outline:none;transition:all .15s ease}.cell-input:focus{background:var(--bg-elevated);border-color:var(--accent-primary);box-shadow:0 0 0 2px rgba(59,130,246,.2)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#374151}.drag-zone{border:2px dashed var(--border-strong);border-radius:var(--radius-xl);padding:50px 24px;text-align:center;background:rgba(17,24,39,.5);transition:all .25s ease;cursor:pointer;position:relative;overflow:hidden}.drag-zone.dragging{border-color:var(--accent-primary);background:rgba(37,99,235,.08);transform:scale(1.01)}.drag-zone:hover{border-color:hsla(0,0%,100%,.3)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .3s cubic-bezier(.16,1,.3,1) forwards}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}