@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg-color:#fff;--bg-subtle:#f9fafb;--panel-bg:#fff;--text-primary:#111827;--text-secondary:#4b5563;--text-tertiary:#9ca3af;--border-color:#e5e7eb;--border-focus:#111827;--accent-color:#111827;--accent-hover:#374151;--danger:#ef4444;--success:#10b981;--font-family:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--radius:6px}@media (prefers-color-scheme:dark){:root{--bg-color:#000;--bg-subtle:#0a0a0a;--panel-bg:#111;--text-primary:#fff;--text-secondary:#a1a1aa;--text-tertiary:#52525b;--border-color:#27272a;--border-focus:#fff;--accent-color:#fff;--accent-hover:#e4e4e7;--danger:#f87171;--success:#34d399}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}h1,h2,h3,h4{color:var(--text-primary);font-weight:600}h1{letter-spacing:-.02em;margin-bottom:.5rem;font-size:1.35rem}h2{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color);margin-bottom:1rem;padding-bottom:.5rem;font-size:.9rem;font-weight:600}h3{color:var(--text-primary);font-size:.95rem;font-weight:500}.text-muted,.text-danger{color:var(--text-secondary)}.text-small{font-size:.75rem}.container{flex-direction:column;gap:3rem;max-width:1400px;margin:0 auto;padding:2rem 2rem 5rem;display:flex}.panel{background-color:var(--panel-bg);border:1px solid var(--border-color);border-radius:var(--radius);padding:1.5rem;box-shadow:0 2px 4px #00000005}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;display:grid}.grid-cols-2{grid-template-columns:1fr;gap:2rem;display:grid}@media (width>=1024px){.grid-cols-2{grid-template-columns:1fr 1fr}}.input-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem;display:grid}label{color:var(--text-primary);margin-bottom:.35rem;font-size:.8rem;font-weight:500;display:block}.input-help{color:var(--text-secondary);margin-bottom:.5rem;font-size:.7rem;display:block}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input[type=number],input[type=text]{width:100%;font-family:var(--font-family);border:1px solid var(--border-color);background-color:var(--bg-color);color:var(--text-primary);border-radius:var(--radius);outline:none;padding:.5rem .75rem;font-size:.9rem;transition:border-color .15s,box-shadow .15s}input:focus{border-color:var(--border-focus);box-shadow:0 0 0 1px var(--border-focus)}.input-prefix-wrapper{align-items:center;display:flex;position:relative}.input-prefix{color:var(--text-secondary);pointer-events:none;font-size:.9rem;position:absolute;left:.75rem}.input-suffix{color:var(--text-secondary);pointer-events:none;font-size:.9rem;position:absolute;right:.75rem}.input-prefix-wrapper input.has-prefix{padding-left:1.5rem}.input-prefix-wrapper input.has-suffix{padding-right:1.5rem}.expense-row{background:var(--bg-subtle);border-radius:var(--radius);border:1px solid var(--border-color);align-items:center;gap:.5rem;padding:.5rem;transition:opacity .2s,transform .2s;display:flex}.expense-row.dragging{opacity:.5;background-color:var(--bg-subtle)}.clean-expense-row{border-radius:var(--radius);border-bottom:1px solid var(--border-color);align-items:center;margin-bottom:.25rem;padding:.4rem .5rem;transition:background-color .15s;display:flex}.clean-expense-row:hover{background-color:var(--bg-subtle)}.clean-expense-row.dragging{opacity:.5;background-color:var(--bg-subtle)}.clean-input{box-shadow:none;color:var(--text-primary);background:0 0;border:none;border-radius:4px;width:100%;padding:.2rem .4rem;font-family:inherit;font-size:.95rem;transition:background-color .15s,box-shadow .15s}.clean-input:focus{background-color:var(--bg-color);box-shadow:0 0 0 1px var(--border-color);outline:none}.clean-input::placeholder{color:var(--text-tertiary)}.drag-handle{color:var(--text-tertiary);cursor:grab;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;height:100%;padding:0 .5rem;display:flex}.drag-handle:active{cursor:grabbing}.dropdown-menu{background:var(--panel-bg);border:1px solid var(--border-color);border-radius:var(--radius);z-index:10;min-width:140px;animation:.1s ease-out fadeIn;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 4px 6px #0000000d}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}button{font-family:var(--font-family);color:var(--text-primary);background-color:var(--bg-subtle);border:1px solid var(--border-color);cursor:pointer;border-radius:var(--radius);justify-content:center;align-items:center;gap:.35rem;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:background-color .15s;display:inline-flex}button:hover{background-color:var(--border-color)}button.primary{background-color:var(--accent-color);color:var(--bg-color);border-color:var(--accent-color)}button.primary:hover{background-color:var(--accent-hover)}button.icon-btn{color:var(--text-secondary);background:0 0;border:1px solid #0000;padding:.4rem}button.icon-btn:hover{color:var(--text-primary);background-color:var(--bg-subtle);border-color:var(--border-color)}.data-row{justify-content:space-between;align-items:baseline;padding:.4rem 0;font-size:.9rem;display:flex}.data-row .data-label{color:var(--text-secondary)}.data-row .data-label strong{color:var(--text-primary);font-weight:500}.data-row .data-value{font-variant-numeric:tabular-nums;color:var(--text-primary);font-weight:500}.data-row.highlight{border-top:1px solid var(--border-color);margin-top:.5rem;padding-top:.5rem}.data-row.highlight .data-label{color:var(--text-primary);font-weight:600}.data-row.highlight .data-value{font-weight:600}.badge{background:var(--bg-subtle);border:1px solid var(--border-color);color:var(--text-tertiary);border-radius:4px;margin-left:.5rem;padding:.1rem .3rem;font-size:.7rem}.chart-container{width:100%;height:180px;margin-top:2rem}
