@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.06d3mdzz5bre_.woff2?dpl=dpl_B8QTgQPKzyra3GUm7cUcbNQcRpo9)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.11.cyxs5p-0z~.woff2?dpl=dpl_B8QTgQPKzyra3GUm7cUcbNQcRpo9)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2?dpl=dpl_B8QTgQPKzyra3GUm7cUcbNQcRpo9)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0q3udbd2bu5yp.woff2?dpl=dpl_B8QTgQPKzyra3GUm7cUcbNQcRpo9)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0gw~uztddq1df.woff2?dpl=dpl_B8QTgQPKzyra3GUm7cUcbNQcRpo9)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2?dpl=dpl_B8QTgQPKzyra3GUm7cUcbNQcRpo9)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#d9d8d8;--surface:#fff;--surface-soft:#f8fafc;--text:#111827;--text-soft:#6b7280;--border:#e5e7eb;--primary:#c9184a;--primary-light:#ff4d6d;--danger:#dc2626;--success:#16a34a;--info:#2563eb;--warning:#facc15;--radius-sm:10px;--radius-md:12px;--radius-lg:18px;--radius-xl:20px;--shadow-soft:0 10px 30px #0000000a;--shadow-hover:0 8px 20px #0000001f;--transition:all .25s ease}body{color:#fff;background:linear-gradient(135deg,#0f172a,#1e293b);font-family:Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}main{padding:2rem}.topBar,.profileTopBar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.topActions,.profileActions{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.headerWrapper{margin-bottom:1rem}.mainTitle{color:var(--primary);padding-bottom:1rem;font-size:16px;font-weight:700}.navbar{background:linear-gradient(135deg,#1e293b,#111827,#0f172a);border-radius:16px;justify-content:space-between;align-items:center;width:100%;margin-bottom:1.5rem;padding:1rem 2rem;display:flex;box-shadow:0 10px 30px #00000026}.logo{color:#fff;font-size:1.3rem;font-weight:700}.navRight{align-items:center;gap:.8rem;display:flex}.navBtn{color:#fff;background:#ffffff14;border:none;border-radius:10px;padding:.5rem 1rem;font-size:14px;transition:all .2s}.navBtn:hover{background:#fff3;transform:translateY(-1px)}.cardContainer{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);border:1px solid var(--border);margin-bottom:1.2rem;padding:1.5rem}.cardWrapper{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.paymentCard{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#ffffff14,#ffffff05);border:1px solid #ffffff14;border-radius:18px;min-height:155px;padding:1.2rem;transition:all .25s}.paymentCard:hover{transform:translateY(-6px)scale(1.01);box-shadow:0 20px 40px #00000040}.cardHeader{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:20px;display:flex}.amount{flex-direction:column;gap:.45rem;display:flex}.title{color:#555;font-size:13px;font-weight:500}.amountValue{color:#222;font-family:Courier New,Courier,monospace;font-size:28px;font-weight:700;line-height:1.1}.icon{border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.4rem;font-weight:700;display:flex}.cardDetail{color:#666;letter-spacing:.5px;font-size:13px}.lightRed{background:#fff1f2}.lightPurple{background:#f5f3ff}.lightGreen{background:#ecfdf3}.lightBlue{background:#eff6ff}.darkRed{color:#fff;background:#e11d48}.darkPurple{color:#fff;background:#7c3aed}.darkGreen{color:#fff;background:#16a34a}.darkBlue{color:#fff;background:#2563eb}.positiveValue{color:#22c55e;font-weight:600}.negativeValue{color:#ef4444;font-weight:600}.saveBtn,.cancelBtn,.addBtn,.logoutBtn,.editBtn,.deleteBtn,.closeBtn,.exportBtn,.backBtn,.themeToggleBtn,.pageBtn,.importBtn,.uploadBtn{cursor:pointer;transition:var(--transition);border:none;font-weight:600}.saveBtn{background:linear-gradient(135deg, var(--primary-light), var(--primary));color:#fff;border-radius:var(--radius-md);letter-spacing:.5px;padding:.85rem 1.5rem}.saveBtn:hover{transform:translateY(-3px);box-shadow:0 8px 20px #c9184a66}.addBtn{background:linear-gradient(135deg, #3b82f6, var(--info));color:#fff;border-radius:var(--radius-md);padding:.85rem 1.5rem}.addBtn:hover{transform:translateY(-3px);box-shadow:0 8px 20px #2563eb66}.exportBtn,.uploadBtn{color:#fff;border-radius:var(--radius-md);background:linear-gradient(135deg,#0f766e,#0d9488);padding:.75rem 1.2rem}.exportBtn:hover,.uploadBtn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0d94884d}.cancelBtn{color:#444;border-radius:var(--radius-md);background:linear-gradient(135deg,#e0e0e0,#cfcfcf);padding:.85rem 1.5rem}.cancelBtn:hover,.backBtn:hover,.editBtn:hover,.deleteBtn:hover{transform:translateY(-2px)}.backBtn{color:#fff;border-radius:var(--radius-md);background:linear-gradient(135deg,#6366f1,#4f46e5);padding:.7rem 1.3rem}.logoutBtn{background:linear-gradient(135deg, #ef4444, var(--danger));color:#fff;border-radius:var(--radius-md);padding:.7rem 1.3rem}.logoutBtn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #dc26264d}.editBtn{background:linear-gradient(135deg, #22c55e, var(--success));color:#fff;border-radius:var(--radius-sm);padding:.55rem 1rem;font-size:13px}.deleteBtn{background:linear-gradient(135deg, #ef4444, var(--danger));color:#fff;border-radius:var(--radius-sm);padding:.55rem 1rem;font-size:13px}.themeToggleBtn{border-radius:var(--radius-sm);color:#fff;white-space:nowrap;background:linear-gradient(135deg,#111827,#374151);justify-content:center;align-items:center;height:40px;min-height:40px;padding:0 12px;font-size:13px;display:inline-flex}.themeToggleBtn:hover{transform:translateY(-1px);box-shadow:0 8px 20px #11182740}.importBtn{border-radius:var(--radius-md);color:#fff;white-space:nowrap;background:linear-gradient(135deg,#6366f1,#4f46e5);justify-content:center;align-items:center;min-height:44px;padding:.7rem 1.15rem;font-size:14px;text-decoration:none;display:inline-flex}.importBtn:hover{transform:translateY(-1px);box-shadow:0 8px 20px #4f46e54d}.closeBtn{border-radius:var(--radius-sm);color:#444;background:#f3f4f6;width:38px;height:38px}.closeBtn:hover{background:#e5e7eb;transform:scale(1.05)}.pageBtn{border-radius:var(--radius-sm);color:#333;background:#f3f4f6;min-width:42px;height:42px;padding:0 .9rem}.pageBtn:hover:not(:disabled){background:#e5e7eb;transform:translateY(-2px)}.activePage{background:linear-gradient(135deg, var(--primary), var(--primary-light));color:#fff}.saveBtn:disabled,.cancelBtn:disabled,.deleteBtn:disabled,.addBtn:disabled,.exportBtn:disabled,.logoutBtn:disabled,.pageBtn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.chartsGrid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:1rem;margin-bottom:1.4rem;display:grid}.chartsGrid>*{min-width:0}.chartContainer,.budgetCard,.tabularWrapper,.profileCard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.chartContainer{width:100%;padding:1.25rem;overflow:hidden}.chartBox{width:100%;min-width:0;height:320px}.chartEmptyState{color:#94a3b8;text-align:center;justify-content:center;align-items:center;width:100%;height:320px;font-size:14px;display:flex}.recharts-responsive-container{min-width:0!important}.budgetCard{margin-top:1rem;margin-bottom:1.4rem;padding:1.5rem;overflow:hidden}.budgetForm{flex-wrap:wrap;align-items:center;gap:.8rem;margin-bottom:1rem;display:flex}.budgetForm input,.budgetForm select,.budgetForm button{min-width:0}.budgetForm input,.budgetForm select{border-radius:var(--radius-md);background:#fff;border:1px solid #ddd;flex:180px;max-width:100%;padding:.8rem 1rem}.budgetForm select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#999 50%),linear-gradient(135deg,#999 50%,#0000 50%);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:2.5rem}.budgetForm button{flex:none}.budgetList{flex-direction:column;gap:1rem;display:flex}.budgetItemCard{background:var(--surface-soft);border:1px solid var(--border);border-radius:16px;padding:1rem}.budgetItemTop{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem;display:flex}.budgetItemTop h4{color:var(--text);margin-bottom:.2rem;font-size:1rem}.budgetItemTop p{color:var(--text-soft);font-size:14px}.budgetBar{background:#e5e7eb;border-radius:999px;width:100%;height:12px;margin-bottom:.8rem;overflow:hidden}.budgetBarFill{background:linear-gradient(135deg, #22c55e, var(--success));border-radius:999px;height:100%;transition:width .3s}.barExceeded{background:linear-gradient(135deg, #ef4444, var(--danger))}.budgetMeta{color:#374151;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;font-size:14px;display:flex}.dangerText{color:var(--danger);font-weight:700}.budgetEmpty{color:var(--text-soft);padding:.5rem 0;font-size:14px}.importSection{justify-content:flex-end;margin-bottom:1.2rem;display:flex}.importTop{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.importText{color:#666;font-size:14px}.importFileName{color:#444;margin-top:.6rem;font-size:13px;font-weight:600}.tabularWrapper{margin-top:1rem;padding:2rem}.tableTopBar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;display:flex}.filtersGroup{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.searchInput,.filterSelect{height:46px}.searchInput{border-radius:var(--radius-md);color:#111827;background:#fff;border:1px solid #d1d5db;width:280px;max-width:100%;padding:.75rem 1rem;font-size:14px}.searchInput::placeholder{color:#9ca3af}.filterSelect{border-radius:var(--radius-md);color:#111827;cursor:pointer;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M6 8l4 4 4-4' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:14px;border:1px solid #64748b;outline:none;width:180px;max-width:100%;height:46px;padding:0 2.5rem 0 1rem;font-size:14px}.filterSelect option{color:#111827;background:#fff}.searchInput:focus,.filterSelect:focus,.formGrid input:focus,.formGrid select:focus,.profileInput:focus,.authForm input:focus,.budgetForm input:focus,.budgetForm select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #c9184a1f}.tableContainer{width:100%;overflow-x:auto}.tableContainer table{min-width:820px}table{border-collapse:collapse;width:100%}thead{background:var(--primary);color:#fff}th,td{text-align:left;padding:15px}td{color:#333;font-size:14px}tbody{background:#f2f2f2}tr:nth-child(2n){background:#fff}.dateCell{font-weight:700}.actionCell{align-items:center;gap:.6rem;display:flex}.pagination{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:1.2rem;display:flex}.tableInfo{color:#666;margin-top:1rem;font-size:14px}.modalOverlay{z-index:1000;background:#00000059;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modalBox{border-radius:var(--radius-lg);background:#fff;width:100%;max-width:720px;padding:1.5rem;box-shadow:0 20px 50px #0003}.modalHeader{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.formGrid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.formGrid input,.formGrid select,.profileInput{border-radius:var(--radius-md);color:#111827;background:#fff;border:1px solid #ccc;padding:.8rem 1rem}.formActions,.profileButtons{flex-wrap:wrap;gap:1rem;margin-top:1rem;display:flex}.deleteModalOverlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;opacity:0;background:#00000073;justify-content:center;align-items:center;padding:1rem;animation:.22s forwards fadeInOverlay;display:flex;position:fixed;inset:0}.deleteModalBox{border-radius:var(--radius-xl);text-align:center;opacity:0;background:#fff;width:100%;max-width:430px;padding:1.6rem;animation:.22s forwards fadeInModal;transform:translateY(12px)scale(.98);box-shadow:0 24px 60px #00000038}.deleteModalIcon{background:#fee2e2;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 1rem;font-size:2rem;display:flex}.deleteModalBox h4{color:#111827;margin-bottom:.7rem;font-size:1.2rem}.deleteModalBox p{color:#6b7280;margin-bottom:1.4rem;font-size:14px;line-height:1.6}.deleteModalActions{flex-wrap:wrap;justify-content:center;gap:.8rem;display:flex}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@keyframes fadeInModal{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.profileCard{padding:2rem}.profileHeader{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.8rem;display:flex}.profileAvatar{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--primary-light), var(--primary));color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:96px;height:96px;font-size:2rem;font-weight:700;display:flex;overflow:hidden}.profileAvatarImage{object-fit:cover;width:100%;height:100%}.profileGrid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.profileInfoBox{background:var(--surface-soft);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:.45rem;padding:1rem;display:flex}.profileLabel{color:var(--text-soft);font-size:13px;font-weight:600}.profileValue{color:var(--text);font-size:15px;font-weight:500}.profileLoading{color:var(--text-soft);padding:2rem 0}.avatarUploadRow{margin-bottom:1rem}.passwordSection{border-top:1px solid var(--border);margin-top:2rem;padding-top:1.5rem}.passwordSection h3{color:var(--text);margin-bottom:1rem;font-size:1.05rem}.passwordGrid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.fullWidth,.fullInput{grid-column:1/-1}.smallText{word-break:break-all;font-size:13px}.authPage{background:#f3f4f6;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.authForm{border-radius:var(--radius-xl);background:#fff;flex-direction:column;gap:1rem;width:100%;max-width:420px;padding:2rem;display:flex;box-shadow:0 20px 50px #00000014}.authForm h1{color:#111827;margin-bottom:.5rem;font-size:2rem}.authForm input{border-radius:var(--radius-md);color:#111827;background:#fff;border:1px solid #d1d5db;width:100%;padding:.9rem 1rem;font-size:14px}.authSwitchText{color:#6b7280;text-align:center;font-size:14px}.authSwitchLink{color:var(--primary);font-weight:600;text-decoration:none}.authSwitchLink:hover{text-decoration:underline}.authHeader{flex-direction:column;gap:.45rem;margin-bottom:.5rem;display:flex}.authEyebrow{color:var(--primary);letter-spacing:.5px;text-transform:uppercase;font-size:13px;font-weight:700}.authSubtitle{color:var(--text-soft);font-size:14px;line-height:1.6}.authFields{flex-direction:column;gap:.85rem;display:flex}.authPrimaryLink{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--primary-light), var(--primary));color:#fff;transition:var(--transition);justify-content:center;align-items:center;padding:.85rem 1.5rem;font-weight:700;text-decoration:none;display:inline-flex}.authPrimaryLink:hover{transform:translateY(-2px);box-shadow:0 8px 20px #c9184a59}.sidebar{border-right:1px solid var(--border);background:#f9fafb;width:200px;min-height:100vh;padding:1.2rem}.sidebarTitle{margin-bottom:1.5rem;font-size:1.2rem;font-weight:700}.sidebarMenu{flex-direction:column;gap:.5rem;display:flex}.sidebarItem{border-radius:var(--radius-sm);cursor:pointer;text-align:left;color:#111827;background:0 0;border:none;padding:.6rem .8rem}.sidebarItem:hover{background:#e5e7eb}.activeItem{background:var(--primary);color:#fff}body.dark{--bg:#111827;--surface:#1f2937;--surface-soft:#111827;--text:#f9fafb;--text-soft:#cbd5e1;--border:#374151;background:var(--bg);color:var(--text)}body.dark .cardContainer,body.dark .chartContainer,body.dark .tabularWrapper,body.dark .budgetCard,body.dark .profileCard,body.dark .authForm,body.dark .modalBox{color:#f9fafb;background:#1f2937;border:1px solid #374151}body.dark .profileInfoBox,body.dark .budgetItemCard{background:#111827;border:1px solid #374151}body.dark .title,body.dark .cardDetail,body.dark .amountValue,body.dark .mainTitle,body.dark .profileHeader h3,body.dark .profileValue,body.dark .profileLabel,body.dark .profileLoading,body.dark .budgetItemTop h4,body.dark .budgetMeta,body.dark .budgetItemTop p,body.dark .budgetEmpty,body.dark .importText,body.dark .importFileName,body.dark .tableInfo,body.dark .authSwitchText{color:#f9fafb}body.dark .paymentCard .title{color:#cbd5e1}body.dark .paymentCard .amountValue{color:#fff}body.dark .paymentCard .cardDetail{color:#94a3b8}body.dark .lightGreen{background:radial-gradient(circle at 100% 0,#22c55e29,#0000 35%),linear-gradient(135deg,#0b1b14,#10241b)}body.dark .lightRed{background:radial-gradient(circle at 100% 0,#f43f5e29,#0000 35%),linear-gradient(135deg,#241015,#2c1419)}body.dark .lightBlue{background:radial-gradient(circle at 100% 0,#3b82f62e,#0000 35%),linear-gradient(135deg,#0d1728,#13233a)}body.dark .lightPurple{background:radial-gradient(circle at 100% 0,#7c3aed2e,#0000 35%),linear-gradient(135deg,#171229,#21183a)}body.dark .searchInput,body.dark .filterSelect,body.dark .formGrid input,body.dark .formGrid select,body.dark .profileInput,body.dark .authForm input,body.dark .budgetForm input,body.dark .budgetForm select,body.dark .react-datepicker__input-container input{color:#f9fafb;background:#111827;border:1px solid #374151}body.dark .searchInput::placeholder,body.dark .profileInput::placeholder,body.dark .authForm input::placeholder{color:#94a3b8}body.dark .budgetBar{background:#374151}body.dark tbody{background:#1f2937}body.dark tr:nth-child(2n){background:#111827}body.dark td{color:#f9fafb}body.dark .pageBtn{color:#f9fafb;background:#1f2937;border:1px solid #374151}body.dark .pageBtn:hover:not(:disabled){background:#374151}body.dark .closeBtn{color:#f9fafb;background:#374151}body.dark .closeBtn:hover{background:#4b5563}body.dark .themeToggleBtn{color:#111827;background:linear-gradient(135deg,#f8fafc,#e5e7eb)}body.dark .passwordSection{border-top:1px solid #374151}body.dark .passwordSection h3{color:#f9fafb}body.dark .deleteModalBox{background:#1f2937;border:1px solid #374151}body.dark .deleteModalBox h4{color:#f9fafb}body.dark .deleteModalBox p{color:#cbd5e1}body.dark .deleteModalIcon{background:#ef444429}body.dark .authPage{background:#0f172a}body.dark .authForm h1{color:#f9fafb}body.dark .authSwitchLink{color:#f472b6}body.dark .sidebar{background:#111827;border-right:1px solid #374151}body.dark .sidebarItem{color:#f9fafb}body.dark .sidebarItem:hover{background:#1f2937}body.dark .activeItem{color:#fff;background:#9d174d}@media (max-width:1100px){.cardWrapper{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){main{padding:1rem}.topBar,.profileTopBar{flex-direction:column;align-items:stretch}.topActions,.profileActions{flex-wrap:wrap;justify-content:flex-start;width:100%}.cardWrapper,.chartsGrid,.profileGrid,.passwordGrid,.formGrid{grid-template-columns:1fr}.chartBox{height:260px}.budgetForm,.budgetItemTop,.tableTopBar,.filtersGroup{flex-direction:column;align-items:stretch}.budgetForm input,.budgetForm select,.budgetForm button,.searchInput,.filterSelect{width:100%}.pagination{flex-wrap:wrap;justify-content:center}.pageBtn{min-width:38px;height:38px;padding:0 .7rem}.profileHeader{flex-direction:column;align-items:flex-start}.profileAvatar{width:88px;height:88px}.modalBox,.deleteModalBox{width:100%;max-width:100%;margin:0 .5rem;padding:1rem}}@media (max-width:640px){.importSection{justify-content:stretch}.importBtn,.topActions button,.profileActions button,.topActions .themeToggleBtn,.profileActions .themeToggleBtn,.topActions .logoutBtn,.profileActions .logoutBtn,.topActions .backBtn,.profileActions .backBtn{width:100%}}.dashboardPage{flex-direction:column;gap:1rem;display:flex}.dashboardSection{width:100%}.transactionsHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.sectionDescription{color:var(--text-soft);font-size:14px;line-height:1.6}.tableLoadingState,.tableEmptyState{text-align:center;color:var(--text-soft);padding:1.5rem;font-size:14px}.tableSkeleton{background:linear-gradient(90deg,#e5e7eb,#f8fafc,#e5e7eb) 0 0/200% 100%;border-radius:999px;width:100%;height:16px;animation:1.2s ease-in-out infinite skeletonPulse}@keyframes skeletonPulse{0%{background-position:200% 0}to{background-position:-200% 0}}.modalBox{animation:.22s forwards fadeInModal}.editForm{flex-direction:column;gap:1rem;display:flex}.formGrid input,.formGrid select,.profileInput,.react-datepicker__input-container input{width:100%;transition:var(--transition)}.formGrid input:hover,.formGrid select:hover,.profileInput:hover,.react-datepicker__input-container input:hover{border-color:var(--primary)}.formActions{justify-content:flex-end}.authSuccessBox{background:var(--surface-soft);border-radius:var(--radius-md);text-align:center;border:1px solid var(--border);flex-direction:column;gap:1rem;padding:1rem;display:flex}.authLoadingPage{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.authLoadingCard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);color:var(--text-soft);align-items:center;gap:.9rem;padding:1.5rem 2rem;font-size:14px;display:flex}.authLoadingSpinner{border:2px solid #e5e7eb;border-top-color:var(--primary);border-radius:999px;width:18px;height:18px;animation:.7s linear infinite authSpin}@keyframes authSpin{to{transform:rotate(360deg)}}.profilePage{padding:2rem}.profileIdentity{flex-direction:column;gap:.25rem;display:flex}.profileIdentity p{color:var(--text-soft);font-size:14px}.tableHeaderInfo{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.tableSortButton{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}.tableSortButton:hover{text-decoration:underline}tbody tr{transition:var(--transition)}tbody tr:hover{background:#fff1f2}body.dark tbody tr:hover{background:#253044}body.dark tbody tr:hover td{color:#f9fafb}.dashboardPage{max-width:1280px;margin:0 auto}.cardContainer,.chartContainer,.budgetCard,.tabularWrapper,.profileCard{transition:var(--transition)}.cardContainer:hover,.chartContainer:hover,.budgetCard:hover,.tabularWrapper:hover,.profileCard:hover{box-shadow:var(--shadow-hover)}.mainTitle{letter-spacing:.2px}.chartContainer .mainTitle,.cardContainer .mainTitle,.budgetCard .mainTitle,.tabularWrapper .mainTitle{margin-bottom:.4rem}.tableContainer{border-radius:var(--radius-md)}thead th{letter-spacing:.3px;font-size:13px}tbody tr{border-bottom:1px solid var(--border)}body.dark tbody tr{border-bottom:1px solid #374151}.dashboardTitleBlock{margin-bottom:1rem}.dashboardTitleBlock h1{color:var(--text);font-size:28px;font-weight:800}.dashboardTitleBlock p{color:var(--text-soft);margin-top:.35rem;font-size:14px}.paymentCard{gap:1rem;overflow:hidden}.paymentCard .amount{min-width:0}.paymentCard .title{margin-bottom:.4rem;line-height:1.3;display:block}.paymentCard .amountValue{word-break:break-word;max-width:100%;font-size:clamp(20px,2vw,28px);line-height:1.15;display:block}.cardDetail{line-height:1.4}.insightCard{justify-content:flex-start}.insightCard .amountValue{margin-top:.6rem}body{color:var(--text);background:radial-gradient(circle at 0 0,#3b82f62e,#0000 32%),linear-gradient(135deg,#f8fafc,#e5e7eb)}body.dark{color:var(--text);background:radial-gradient(circle at 0 0,#3b82f638,#0000 32%),linear-gradient(135deg,#0f172a,#111827)}body.dark .cardContainer,body.dark .chartContainer,body.dark .budgetCard,body.dark .tabularWrapper,body.dark .profileCard{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#1f2937c7}.navbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(135deg,#ffffffbf,#f8fafc8c);border:1px solid #94a3b840}.logo{color:#111827}.navBtn{color:#111827;background:#0f172a0f}.navBtn:hover{background:#0f172a1f}body.dark .navbar{background:linear-gradient(135deg,#1e293be6,#0f172ae6);border:1px solid #ffffff14}body.dark .logo{color:#0000}body.dark .navBtn{color:#fff;background:#ffffff14}body.dark .navBtn:hover{background:#ffffff2e}.logo,.dashboardTitleBlock h1,.mainTitle{background:linear-gradient(90deg,#22c55e,#3b82f6,#8b5cf6,#ec4899,#f97316,#22c55e) 0 0/300% 300%;color:#0000;-webkit-background-clip:text;background-clip:text;animation:7s infinite gradientMove}@keyframes gradientMove{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}
