*{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0;padding:0}body{background-color:#0d1117;color:#e6edf3;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}body.light-theme{background-color:#f6f8fa;color:#24292f}body *{background-color:transparent}input,select,textarea{background-color:#21262d;color:#e6edf3;border:1px solid #30363d;border-radius:6px;padding:8px 12px;font-size:14px;transition:border-color .2s,box-shadow .2s}body.light-theme input,body.light-theme select,body.light-theme textarea{background-color:#fff;color:#24292f;border:1px solid #d0d7de}input:focus,select:focus,textarea:focus{outline:none;border-color:#58a6ff;box-shadow:0 0 0 3px #58a6ff26}body.light-theme input:focus,body.light-theme select:focus,body.light-theme textarea:focus{border-color:#0969da;box-shadow:0 0 0 3px #0969da26}button{background-color:#21262d;color:#e6edf3;border:1px solid #30363d;border-radius:6px;padding:8px 16px;cursor:pointer;transition:all .2s;font-size:14px;font-weight:500}body.light-theme button{background-color:#f6f8fa;color:#24292f;border:1px solid #d0d7de}button:hover{background-color:#30363d;border-color:#484f58}body.light-theme button:hover{background-color:#f3f4f6;border-color:#d0d7de}button[type=submit],button.primary{background-color:#238636;border-color:#238636;color:#fff}body.light-theme button[type=submit],body.light-theme button.primary{background-color:#1a7f37;border-color:#1a7f37;color:#fff}button[type=submit]:hover,button.primary:hover{background-color:#2ea043;border-color:#2ea043}body.light-theme button[type=submit]:hover,body.light-theme button.primary:hover{background-color:#1a7f37;border-color:#1a7f37}button.danger{background-color:#da3633;border-color:#da3633;color:#fff}body.light-theme button.danger{background-color:#cf222e;border-color:#cf222e}button.danger:hover{background-color:#f85149;border-color:#f85149}a{color:#58a6ff;text-decoration:none}body.light-theme a{color:#0969da}a:hover{color:#79c0ff}body.light-theme a:hover{color:#0550ae}section,.card{background-color:#161b22;border:1px solid #30363d;border-radius:12px;padding:20px}body.light-theme section,body.light-theme .card{background-color:#fff;border:1px solid #d0d7de}.table-container{overflow-x:auto;border-radius:12px;border:1px solid #30363d;background-color:#161b22;display:flex;flex-direction:column}body.light-theme .table-container{border:1px solid #d0d7de;background-color:#fff}table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}thead th{position:sticky;top:0;z-index:1}tbody td:first-child,thead th:first-child{position:sticky;left:0;z-index:2;background-color:#161b22}body.light-theme tbody td:first-child,body.light-theme thead th:first-child{background-color:#fff}thead th:first-child{z-index:3;background-color:#21262d}body.light-theme thead th:first-child{background-color:#f6f8fa}tbody tr:hover td:first-child{background-color:#21262d}body.light-theme tbody tr:hover td:first-child{background-color:#f6f8fa}thead{background-color:#21262d}body.light-theme thead{background-color:#f6f8fa}th{padding:14px 16px;text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#8b949e;border-bottom:1px solid #30363d;white-space:nowrap}body.light-theme th{color:#24292f;border-bottom:1px solid #d0d7de}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:#e6edf3;background-color:#30363d}body.light-theme th.sortable:hover{color:#24292f;background-color:#f3f4f6}td{padding:14px 16px;border-bottom:1px solid #21262d;color:#e6edf3;vertical-align:middle}body.light-theme td{border-bottom:1px solid #eaeef2;color:#1f2328;font-weight:500}tbody tr{transition:background-color .15s ease}tbody tr:hover{background-color:#21262d}body.light-theme tbody tr:hover{background-color:#f6f8fa}tbody tr:last-child td{border-bottom:none}.category-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:9999px;font-size:12px;font-weight:600;text-transform:capitalize;letter-spacing:.025em;white-space:nowrap}.category-badge.cash{background-color:#3b82f633;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}body.light-theme .category-badge.cash{background-color:#3b82f61a;color:#2563eb;border:1px solid rgba(59,130,246,.2)}.category-badge.investments,.category-badge.stocks{background-color:#22c55e33;color:#4ade80;border:1px solid rgba(34,197,94,.3)}body.light-theme .category-badge.investments,body.light-theme .category-badge.stocks{background-color:#22c55e1a;color:#16a34a;border:1px solid rgba(34,197,94,.2)}.category-badge.retirement{background-color:#a855f733;color:#c084fc;border:1px solid rgba(168,85,247,.3)}body.light-theme .category-badge.retirement{background-color:#a855f71a;color:#9333ea;border:1px solid rgba(168,85,247,.2)}.category-badge.property{background-color:#f9731633;color:#fb923c;border:1px solid rgba(249,115,22,.3)}body.light-theme .category-badge.property{background-color:#f973161a;color:#ea580c;border:1px solid rgba(249,115,22,.2)}.category-badge.crypto{background-color:#eab30833;color:#facc15;border:1px solid rgba(234,179,8,.3)}body.light-theme .category-badge.crypto{background-color:#eab3081a;color:#ca8a04;border:1px solid rgba(234,179,8,.2)}.category-badge.other{background-color:#9ca3af33;color:#9ca3af;border:1px solid rgba(156,163,175,.3)}body.light-theme .category-badge.other{background-color:#9ca3af1a;color:#4b5563;border:1px solid rgba(156,163,175,.2)}.category-badge.credit-card,.category-badge.credit\ card{background-color:#ef444433;color:#f87171;border:1px solid rgba(239,68,68,.3)}body.light-theme .category-badge.credit-card,body.light-theme .category-badge.credit\ card{background-color:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.2)}.category-badge.mortgage{background-color:#dc262633;color:#ef4444;border:1px solid rgba(220,38,38,.3)}body.light-theme .category-badge.mortgage{background-color:#dc26261a;color:#b91c1c;border:1px solid rgba(220,38,38,.2)}.category-badge.loans{background-color:#b91c1c33;color:#dc2626;border:1px solid rgba(185,28,28,.3)}body.light-theme .category-badge.loans{background-color:#b91c1c1a;color:#991b1b;border:1px solid rgba(185,28,28,.2)}.category-badge.other-liability,.category-badge.other\ liability{background-color:#991b1b33;color:#b91c1c;border:1px solid rgba(153,27,27,.3)}body.light-theme .category-badge.other-liability,body.light-theme .category-badge.other\ liability{background-color:#991b1b1a;color:#7f1d1d;border:1px solid rgba(153,27,27,.2)}.category-section{margin-bottom:24px}.category-header{display:flex;align-items:center;padding:12px 16px;border-radius:8px 8px 0 0;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.05em}.category-header.cash{background:linear-gradient(90deg,#3b82f64d,#3b82f61a);border-bottom:2px solid #3b82f6}body.light-theme .category-header.cash{background:linear-gradient(90deg,#3b82f626,#3b82f60d)}.category-header.investments,.category-header.stocks{background:linear-gradient(90deg,#22c55e4d,#22c55e1a);border-bottom:2px solid #22c55e}body.light-theme .category-header.investments,body.light-theme .category-header.stocks{background:linear-gradient(90deg,#22c55e26,#22c55e0d)}.category-header.retirement{background:linear-gradient(90deg,#a855f74d,#a855f71a);border-bottom:2px solid #a855f7}body.light-theme .category-header.retirement{background:linear-gradient(90deg,#a855f726,#a855f70d)}.category-header.property{background:linear-gradient(90deg,#f973164d,#f973161a);border-bottom:2px solid #f97316}body.light-theme .category-header.property{background:linear-gradient(90deg,#f9731626,#f973160d)}.category-header.crypto{background:linear-gradient(90deg,#eab3084d,#eab3081a);border-bottom:2px solid #eab308}body.light-theme .category-header.crypto{background:linear-gradient(90deg,#eab30826,#eab3080d)}.category-header.other{background:linear-gradient(90deg,#9ca3af4d,#9ca3af1a);border-bottom:2px solid #9ca3af}body.light-theme .category-header.other{background:linear-gradient(90deg,#9ca3af26,#9ca3af0d)}.category-header.liabilities,.category-header.credit-card,.category-header.mortgage,.category-header.loans,.category-header.other-liability{background:linear-gradient(90deg,#ef44444d,#ef44441a);border-bottom:2px solid #ef4444}body.light-theme .category-header.liabilities,body.light-theme .category-header.credit-card,body.light-theme .category-header.mortgage,body.light-theme .category-header.loans,body.light-theme .category-header.other-liability{background:linear-gradient(90deg,#ef444426,#ef44440d)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}body.light-theme .modal-overlay{background-color:#00000080}.modal{background-color:#161b22;border:1px solid #30363d;border-radius:16px;max-width:600px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000080}body.light-theme .modal{background-color:#fff;border:1px solid #d0d7de;box-shadow:0 25px 50px -12px #00000040}.modal-header{padding:20px 24px;border-bottom:1px solid #30363d;display:flex;align-items:center;justify-content:space-between}body.light-theme .modal-header{border-bottom:1px solid #d0d7de}.modal-header h3{margin:0;font-size:18px;font-weight:600}body.light-theme .modal-header h3{color:#24292f}.modal-close{background:none!important;border:none!important;font-size:24px;color:#8b949e!important;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px}body.light-theme .modal-close{color:#57606a!important}.modal-close:hover{background-color:#30363d!important;color:#e6edf3!important}body.light-theme .modal-close:hover{background-color:#f3f4f6!important;color:#24292f!important}.modal-body{padding:20px 24px;overflow-y:auto}.modal-footer{padding:16px 24px;border-top:1px solid #30363d;display:flex;gap:12px;justify-content:flex-end}body.light-theme .modal-footer{border-top:1px solid #d0d7de}.snapshot-list{display:flex;flex-direction:column;gap:8px}.snapshot-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background-color:#21262d;border:1px solid #30363d;border-radius:8px;cursor:pointer;transition:all .15s ease}body.light-theme .snapshot-item{background-color:#f6f8fa;border:1px solid #d0d7de}.snapshot-item:hover{background-color:#30363d;border-color:#484f58}body.light-theme .snapshot-item:hover{background-color:#f3f4f6;border-color:#d0d7de}.snapshot-item.selected{background-color:#58a6ff1a;border-color:#58a6ff}body.light-theme .snapshot-item.selected{background-color:#0969da1a;border-color:#0969da}.snapshot-info{display:flex;flex-direction:column;gap:4px}.snapshot-name{font-weight:600;font-size:14px}.snapshot-date{font-size:12px;color:#8b949e}body.light-theme .snapshot-date{color:#57606a}.snapshot-actions{display:flex;gap:8px}.toast-container{position:fixed;top:20px;right:20px;z-index:1100;display:flex;flex-direction:column;gap:10px}.toast{padding:14px 20px;border-radius:8px;font-size:14px;font-weight:500;display:flex;align-items:center;gap:10px;animation:slideIn .3s ease;box-shadow:0 10px 15px -3px #0000004d}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast.success{background-color:#238636;color:#fff}body.light-theme .toast.success{background-color:#1a7f37}.toast.error{background-color:#da3633;color:#fff}body.light-theme .toast.error{background-color:#cf222e}.toast.info{background-color:#1f6feb;color:#fff}body.light-theme .toast.info{background-color:#0969da}.header-actions{display:flex;align-items:center;gap:12px}.header-actions button{padding:8px 16px;font-size:13px;font-weight:500}nav a,nav button{color:#e6edf3!important}body.light-theme nav a,body.light-theme nav button{color:#24292f!important}[style*="color: red"],[style*="color:red"]{color:#f85149!important}body.light-theme [style*="color: red"],body.light-theme [style*="color:red"]{color:#cf222e!important}[style*="color: green"],[style*="color:green"]{color:#3fb950!important}body.light-theme [style*="color: green"],body.light-theme [style*="color:green"]{color:#1a7f37!important}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#0d1117}body.light-theme ::-webkit-scrollbar-track{background:#f6f8fa}::-webkit-scrollbar-thumb{background:#30363d;border-radius:5px}body.light-theme ::-webkit-scrollbar-thumb{background:#c1c9d0}::-webkit-scrollbar-thumb:hover{background:#484f58}body.light-theme ::-webkit-scrollbar-thumb:hover{background:#aeb4ba}::selection{background-color:#58a6ff;color:#fff}body.light-theme ::selection{background-color:#0969da;color:#fff}.chart-container{background-color:#161b22;border:1px solid #30363d;border-radius:12px;padding:20px}body.light-theme .chart-container{background-color:#fff;border:1px solid #d0d7de}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.summary-card{background-color:#161b22;border:1px solid #30363d;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:8px}body.light-theme .summary-card{background-color:#fff;border:1px solid #d0d7de}.summary-card-label{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#8b949e}body.light-theme .summary-card-label{color:#57606a}.summary-card-value{font-size:24px;font-weight:700}.summary-card.positive .summary-card-value{color:#3fb950}body.light-theme .summary-card.positive .summary-card-value{color:#1a7f37}.summary-card.negative .summary-card-value{color:#f85149}body.light-theme .summary-card.negative .summary-card-value{color:#cf222e}body.light-theme table,body.light-theme tbody tr{color:#1f2328}body.light-theme tbody td span{color:#1f2328!important;font-weight:500}body.light-theme tbody td:first-child span{color:#0969da!important;font-weight:600}.text-muted{color:#8b949e}body.light-theme .text-muted{color:#656d76}
