.react-grid-layout{transition:height .2s;position:relative}.react-grid-item{transition:left .2s,top .2s,width .2s,height .2s}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{z-index:1;will-change:width,height;transition:none}.react-grid-item.react-draggable-dragging{z-index:3;will-change:transform;transition:none}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{opacity:.2;z-index:2;-webkit-user-select:none;user-select:none;-o-user-select:none;background:red;transition-duration:.1s}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{width:20px;height:20px;position:absolute}.react-grid-item>.react-resizable-handle:after{content:"";border-bottom:2px solid #0006;border-right:2px solid #0006;width:5px;height:5px;position:absolute;bottom:3px;right:3px}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{cursor:sw-resize;bottom:0;left:0;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{cursor:se-resize;bottom:0;right:0}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{cursor:nw-resize;top:0;left:0;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{cursor:ne-resize;top:0;right:0;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{cursor:ew-resize;margin-top:-10px;top:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{cursor:ns-resize;margin-left:-10px;left:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}
.react-resizable{position:relative}.react-resizable-handle{box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:100% 100%;background-repeat:no-repeat;background-origin:content-box;width:20px;height:20px;padding:0 3px 3px 0;position:absolute}.react-resizable-handle-sw{cursor:sw-resize;bottom:0;left:0;transform:rotate(90deg)}.react-resizable-handle-se{cursor:se-resize;bottom:0;right:0}.react-resizable-handle-nw{cursor:nw-resize;top:0;left:0;transform:rotate(180deg)}.react-resizable-handle-ne{cursor:ne-resize;top:0;right:0;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{cursor:ew-resize;margin-top:-10px;top:50%}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{cursor:ns-resize;margin-left:-10px;left:50%}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}
:root{--card-background:#f8f8f8;--card-bg-prime:#18b5a3;--card-bg-input:#fcf9f9;--text-primary:black}.cash-flow-calendar{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#0003 transparent;flex-direction:column;gap:24px;padding:8px;display:flex}.cash-flow-calendar::-webkit-scrollbar{width:6px}.cash-flow-calendar::-webkit-scrollbar-track{background:0 0}.cash-flow-calendar::-webkit-scrollbar-thumb{background:#0003;border-radius:3px;transition:background .2s}.cash-flow-calendar::-webkit-scrollbar-thumb:hover{background:#0006}.dark .cash-flow-calendar{scrollbar-color:#fff3 transparent}.dark .cash-flow-calendar::-webkit-scrollbar-thumb{background:#fff3}.dark .cash-flow-calendar::-webkit-scrollbar-thumb:hover{background:#fff6}[data-month-header]{z-index:30;-webkit-backdrop-filter:blur(10px);background:linear-gradient(90deg,#e5e7ebcc,#f5f5f5cc);border-bottom:1px solid #0000001a;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 16px;transition:all .3s;display:flex;position:sticky;top:0;box-shadow:0 2px 4px #0000000d}.dark [data-month-header]{background:linear-gradient(90deg,#18181be6,#27272ae6);border-bottom-color:#ffffff1a;box-shadow:0 2px 4px #0003}[data-month-header] h4{background:linear-gradient(135deg,#18b5a3,#0891b2);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:18px;font-weight:700;transition:all .3s}.dark [data-month-header] h4{background:linear-gradient(135deg,#ef5350,#ff6b6b);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}[data-month-header] p{opacity:.7;margin:4px 0 0;font-size:12px;transition:opacity .3s}[data-month-header] .month-indicator{border-radius:50%;width:8px;height:8px;transition:all .3s;box-shadow:0 0 8px #0000001a}.grid-cols-auto-fill-225{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}@media (max-width:1024px){.grid-cols-auto-fill-225{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media (max-width:768px){.grid-cols-auto-fill-225{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}@media (max-width:480px){.grid-cols-auto-fill-225{grid-template-columns:repeat(2,1fr)}}.card-item{background:#e5e7eb66;border:1px solid #0000000d;border-radius:8px;padding:12px;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.dark .card-item{background:#18181b99;border-color:#ffffff0d}.card-item:hover{border-color:#0003;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.dark .card-item:hover{border-color:#fff3;box-shadow:0 4px 12px #0000004d}.card-item.has-transaction{box-shadow:0 2px 8px #0000000d}.dark .card-item.has-transaction{box-shadow:0 2px 8px #0003}.card-item>div:first-child{text-align:center;border-bottom:1px solid #0000001a;flex-direction:column;flex-shrink:0;align-items:center;margin-bottom:12px;padding-bottom:12px;display:flex}.dark .card-item>div:first-child{border-bottom-color:#ffffff1a}.card-item .day-number{color:#1f2937;font-size:24px;font-weight:700;line-height:1;transition:color .3s}.dark .card-item .day-number{color:#f3f4f6}.card-item:hover .day-number{color:#18b5a3}.dark .card-item:hover .day-number{color:#ef5350}.card-item .day-month{color:#0009;text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-size:12px;font-weight:600;transition:color .3s}.dark .card-item .day-month{color:#ffffff80}.card-item:hover .day-month{color:#18b5a3}.dark .card-item:hover .day-month{color:#ef5350}.day-transactions{flex-direction:column;flex:1;gap:8px;max-height:200px;padding-right:4px;display:flex;overflow-y:auto}.day-transactions::-webkit-scrollbar{width:4px}.day-transactions::-webkit-scrollbar-track{background:0 0}.day-transactions::-webkit-scrollbar-thumb{background:#00000026;border-radius:2px}.day-transactions::-webkit-scrollbar-thumb:hover{background:#0000004d}.dark .day-transactions::-webkit-scrollbar-thumb{background:#ffffff26}.dark .day-transactions::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.day-transactions:empty:after{content:"No transactions";color:#0006;text-align:center;justify-content:center;align-items:center;min-height:40px;font-size:12px;display:flex}.dark .day-transactions:empty:after{color:#ffffff4d}.transaction{border-left:3px solid;border-radius:6px;padding:8px;font-size:12px;transition:all .2s;animation:.3s ease-out slideIn}@keyframes slideIn{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.transaction.income{background:linear-gradient(135deg,#22c55e1a,#4ade800d);border-left-color:#22c55e}.transaction.income:hover{background:linear-gradient(135deg,#22c55e33,#4ade801a);box-shadow:0 2px 4px #22c55e26}.dark .transaction.income{background:linear-gradient(135deg,#22c55e26,#4ade8014)}.dark .transaction.income:hover{background:linear-gradient(135deg,#22c55e40,#4ade8026)}.transaction.expense{background:linear-gradient(135deg,#ef44441a,#fca5a50d);border-left-color:#ef4444}.transaction.expense:hover{background:linear-gradient(135deg,#ef444433,#fca5a51a);box-shadow:0 2px 4px #ef444426}.dark .transaction.expense{background:linear-gradient(135deg,#ef444426,#fca5a514)}.dark .transaction.expense:hover{background:linear-gradient(135deg,#ef444440,#fca5a526)}.transaction-label{color:#000000b3;text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;font-size:11px;font-weight:600;line-height:1.2;overflow:hidden}.dark .transaction-label{color:#fffc}.transaction-amount{font-family:Menlo,Monaco,monospace;font-size:12px;font-weight:700}.transaction.income .transaction-amount{color:#16a34a}.dark .transaction.income .transaction-amount{color:#4ade80}.transaction.expense .transaction-amount{color:#dc2626}.dark .transaction.expense .transaction-amount{color:#f87171}.cash-flow-summary{-webkit-backdrop-filter:blur(10px);background:linear-gradient(135deg,#e5e7ebcc,#f5f5f5cc);border:1px solid #0000001a;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:24px;padding:24px;transition:all .3s;display:grid}.dark .cash-flow-summary{background:linear-gradient(135deg,#18181b99,#27272a99);border-color:#ffffff1a}.summary-item{flex-direction:column;display:flex}.summary-item-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.summary-item-label{color:#000000b3;font-size:13px;font-weight:600;transition:color .3s}.dark .summary-item-label{color:#ffffffb3}.month-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:4px 10px;font-size:11px;font-weight:700;transition:all .3s;animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.month-badge.income{color:#16a34a;background:#22c55e26}.dark .month-badge.income{color:#4ade80;background:#22c55e33}.month-badge.expense{color:#dc2626;background:#ef444426}.dark .month-badge.expense{color:#f87171;background:#ef444433}.month-badge.net{color:#2563eb;background:#3b82f626}.dark .month-badge.net{color:#60a5fa;background:#3b82f633}.summary-amount{font-family:Menlo,Monaco,monospace;font-size:28px;font-weight:800;transition:all .3s;animation:.3s ease-out slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.summary-amount.income{color:#16a34a}.dark .summary-amount.income{color:#4ade80}.summary-amount.expense{color:#dc2626}.dark .summary-amount.expense{color:#f87171}.summary-amount.net.positive{color:#16a34a}.dark .summary-amount.net.positive{color:#4ade80}.summary-amount.net.negative{color:#dc2626}.dark .summary-amount.net.negative{color:#f87171}@media (max-width:1024px){.cash-flow-summary{grid-template-columns:repeat(3,1fr);gap:16px;padding:16px}.summary-amount{font-size:24px}}@media (max-width:768px){[data-month-header]{margin-bottom:12px;padding:10px 12px}[data-month-header] h4{font-size:16px}.cash-flow-summary{grid-template-columns:1fr;gap:12px;padding:16px}.summary-item-header{margin-bottom:6px}.summary-amount{font-size:20px}.grid-cols-auto-fill-225{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.card-item{padding:10px}.day-transactions{max-height:150px}}@media (max-width:480px){[data-month-header]{flex-direction:column;align-items:flex-start;gap:8px}[data-month-header] h4{font-size:14px}.cash-flow-summary{grid-template-columns:1fr;gap:16px;padding:12px}.summary-item-label{font-size:12px}.summary-amount{font-size:18px}.grid-cols-auto-fill-225{grid-template-columns:repeat(2,1fr);gap:6px}.card-item{min-height:80px;padding:8px}.card-item>div:first-child{margin-bottom:8px;padding-bottom:8px}.card-item .day-number{font-size:20px}.card-item .day-month{font-size:10px}.day-transactions{gap:4px;max-height:100px}.transaction{padding:6px;font-size:10px}.transaction-label{font-size:10px}.transaction-amount{font-size:11px}.month-badge{padding:3px 8px;font-size:9px}}html{scroll-behavior:smooth}.month-header-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.month-indicator.active{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}
