@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}.static{position:static}.sticky{position:sticky}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}:root{--bg:#f5f6f7;--surface:#fff;--surface2:#eef0f2;--border:#d8dce0;--text:#1a1d20;--text2:#5a6070;--accent:#157a5c;--accent-light:#e6f4ef;--amber:#b45309;--amber-light:#fef3c7;--red:#c0392b;--red-light:#fdecea}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111417;--surface:#1a1d21;--surface2:#22262c;--border:#2e333b;--text:#e8eaed;--text2:#8b95a3;--accent:#35c58c;--accent-light:#0d2b20;--amber:#fbbf24;--amber-light:#2d1f05;--red:#f87171;--red-light:#2a1010}}[data-theme=dark]{--bg:#111417;--surface:#1a1d21;--surface2:#22262c;--border:#2e333b;--text:#e8eaed;--text2:#8b95a3;--accent:#35c58c;--accent-light:#0d2b20;--amber:#fbbf24;--amber-light:#2d1f05;--red:#f87171;--red-light:#2a1010}body{background:var(--bg);color:var(--text);margin:0;font-family:IBM Plex Sans,sans-serif}h1,h2,h3,h4,h5{font-family:Manrope,sans-serif}.mono{font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,monospace}.surface{background:var(--surface);border:1px solid var(--border);border-radius:12px}.surface2{background:var(--surface2);border-radius:8px}.accent-text{color:var(--accent)}.amber-text{color:var(--amber)}.muted{color:var(--text2)}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 18px;font-family:Manrope,sans-serif;font-size:14px;font-weight:600;transition:opacity .15s}.btn-primary:hover{opacity:.85}.btn-primary:disabled{opacity:.4;cursor:default}.btn-ghost{color:var(--text2);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;padding:8px 16px;font-family:IBM Plex Sans,sans-serif;font-size:14px;transition:background .15s}.btn-ghost:hover{background:var(--surface2)}.chip{cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text2);border-radius:20px;align-items:center;padding:5px 14px;font-family:Manrope,sans-serif;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}input[type=text],input[type=date],input[type=number],select,textarea{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:6px;outline:none;padding:6px 10px;font-family:IBM Plex Sans,sans-serif;font-size:14px;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent)}table{border-collapse:collapse;width:100%}th{color:var(--text2);text-transform:uppercase;letter-spacing:.05em;text-align:left;border-bottom:1px solid var(--border);padding:8px 12px;font-family:Manrope,sans-serif;font-size:12px;font-weight:700}td{border-bottom:1px solid var(--border);padding:8px 12px;font-size:14px}tr:last-child td{border-bottom:none}.tab{cursor:pointer;color:var(--text2);background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 20px;font-family:Manrope,sans-serif;font-size:14px;font-weight:600;transition:all .15s}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.badge{border-radius:4px;align-items:center;padding:2px 8px;font-family:Manrope,sans-serif;font-size:11px;font-weight:600;display:inline-flex}.badge-income{background:var(--accent-light);color:var(--accent)}.badge-expense{background:var(--red-light);color:var(--red)}.badge-info{background:var(--surface2);color:var(--text2)}.drop-zone{border:2px dashed var(--border);text-align:center;cursor:pointer;color:var(--text2);border-radius:12px;padding:40px 24px;transition:all .2s}.drop-zone:hover,.drop-zone.dragging{border-color:var(--accent);background:var(--accent-light);color:var(--accent)}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px}.scrollable-table{-webkit-overflow-scrolling:touch;overflow-x:auto}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
