:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,Arial,sans-serif}html,body,#root{width:100%;min-height:100%;margin:0;padding:0}html{background:#08090c}body{background:radial-gradient(circle at 0 0,#d719202e,#0000 34rem),radial-gradient(circle at 100% 100%,#7a0b1029,#0000 36rem),linear-gradient(135deg,#08090c,#10131a 55%,#08090c);overflow-x:hidden}#root{background:#08090c;min-height:100vh}:root{--bg:#08090c;--panel:#16181edb;--panel2:#1d2028;--border:#ffffff14;--text:#f6f7fb;--muted:#9da3b4;--red:#d71920;--red2:#7a0b10;--green:#37d67a;--orange:#ffb020;--shadow:0 24px 80px #00000061}*{box-sizing:border-box}body{color:var(--text);background:var(--bg);margin:0;font-family:Inter,Arial,sans-serif}button,input,select{font:inherit}button,select{cursor:pointer}.app{isolation:isolate;background:radial-gradient(circle at top left, #d719202e, transparent 34rem), radial-gradient(circle at bottom right, #7a0b1029, transparent 36rem), linear-gradient(135deg, var(--bg), #10131a 55%, var(--bg));width:100%;min-height:100vh;position:relative;overflow-x:hidden}.sidebar,.content{z-index:2;position:relative}.content{width:100%;min-width:0;padding:32px 60px 48px}.sidebar{z-index:1000;border-right:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#08090cc7;width:280px;height:100vh;padding:24px;position:fixed;top:0;left:0}.brand{align-items:center;gap:14px;margin-bottom:34px;display:flex}.logo{background:linear-gradient(135deg, var(--red), var(--red2));border-radius:15px;place-items:center;width:46px;height:46px;font-weight:900;display:grid;box-shadow:0 14px 40px #d7192059}.brand small{color:var(--muted);margin-top:4px;display:block}nav{gap:10px;display:grid}nav button,.sidebar nav button{color:var(--muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:14px;align-items:center;gap:12px;padding:13px 14px;transition:background .2s,transform .2s,border .2s,color .2s;display:flex}.sidebar nav button svg{flex-shrink:0}.sidebar nav button span{margin-left:2px}nav button:hover,nav button.active,.sidebar nav button:hover,.sidebar nav button.active{color:#fff;border-color:var(--border);background:#ffffff12;transform:translate(4px)}.sidebar nav button.active{background:linear-gradient(135deg,#d719202e,#7a0b101f);border-color:#d7192059}.topbar{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;margin-bottom:24px;display:grid}.topbarLeft{flex-direction:column;gap:14px;min-width:0;display:flex}.topbarRight{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:14px;display:flex}.eyebrow{color:#ffb3b6;text-transform:uppercase;letter-spacing:.16em;margin:0 0 7px;font-size:12px;font-weight:800}.topbar .eyebrow{margin-bottom:4px}h1,h2{margin:0}h1{letter-spacing:-.04em;font-size:clamp(34px,5vw,58px)}.topbar h1{font-size:clamp(26px,4vw,46px)}h2{margin-bottom:18px;font-size:21px}.panel h2{text-align:left}.monthQuickNav{align-items:center;gap:10px;display:flex}.monthQuickNav button{border:1px solid var(--border);min-height:42px;color:var(--text);white-space:nowrap;background:#ffffff0d;border-radius:12px;padding:9px 12px;transition:all .2s}.monthQuickNav button:hover{background:#ffffff17;transform:translateY(-1px)}.topControls{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:12px;display:flex}.monthPicker,.themeSwitcher{flex-direction:column;gap:6px;min-width:160px;display:flex}.topControls .monthPicker{min-width:210px}.monthPicker label,.themeSwitcher label{color:var(--muted);font-size:13px;font-weight:700}.monthPicker input,.themeSwitcher select{border-radius:12px;min-width:160px;height:42px;min-height:42px;padding:0 12px}.themeSwitcher select{background:#ffffff0f;min-width:180px;font-weight:700}.heroPanel,.stat,.panel,.chartCard{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#ffffff0e,#ffffff06);border:1px solid #ffffff14;animation:.35s both rise}.heroPanel{background:linear-gradient(135deg,#d7192047,#1d2028c7);border-radius:26px;justify-content:space-between;align-items:center;gap:26px;min-width:0;margin-bottom:18px;padding:28px;display:flex}.heroPanel p{max-width:650px;color:var(--muted)}.heroPanel h2{font-size:clamp(28px,5vw,48px)}.heroAmount{white-space:nowrap;text-align:right;letter-spacing:-.05em;font-size:clamp(30px,5vw,58px);font-weight:900}.stats,.dashboardGrid,.grid,.list,.fixedList,.timeline{display:grid}.stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;margin:24px 0 18px}.dashboardGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));align-items:start;gap:18px}.grid{gap:18px}.grid.two{grid-template-columns:1.2fr .8fr}.stat,.panel,.chartCard{border-radius:22px}.stat{padding:20px;transition:all .2s}.panel{width:100%;min-width:0;margin-bottom:18px;padding:22px;overflow:hidden}.stat:hover,.panel:hover{border-color:#ffffff29;transform:translateY(-1px);box-shadow:0 30px 90px #0000006b}.stat span{color:var(--muted);margin-bottom:9px;display:block}.stat strong{font-size:clamp(20px,3vw,31px)}.stat.danger{border-color:#d7192094}.formGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:13px;display:grid}.formGrid label{color:var(--muted);gap:7px;font-size:13px;display:grid}.wide,.formGrid .wide{grid-column:1/-1}input,select{width:100%;min-width:0;min-height:48px;color:var(--text);background:#ffffff0b;border:1px solid #ffffff14;border-radius:14px;outline:none;padding:12px 16px;transition:border .2s,background .2s,box-shadow .2s,transform .2s}select option{color:#000}input:hover,select:hover{background:#ffffff13;border-color:#ffffff38;transform:translateY(-1px)}input:focus,select:focus{border-color:var(--red);background:#ffffff17;box-shadow:0 0 0 4px #d7192024,0 12px 30px #00000038}.formGrid input::placeholder{color:color-mix(in srgb, var(--muted), transparent 20%)}.primary,.inlineForm button{color:#fff;background:linear-gradient(135deg, var(--red), var(--red2));border:0;border-radius:14px;min-height:46px;margin-top:14px;padding:12px 18px;font-weight:800;transition:all .2s}.primary:hover,.inlineForm button:hover{filter:brightness(1.1);transform:translateY(-1px)}.inlineForm{grid-template-columns:1fr 130px 120px auto;gap:10px;margin-top:16px;display:grid}.check{border:1px solid var(--border);background:#ffffff0b;border-radius:14px;align-items:center;min-height:46px;padding:12px 14px;gap:10px!important;display:flex!important}.check input,.fixedRow input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--red)}.list,.fixedList{gap:12px;margin-bottom:24px}.panel>.list{margin-top:24px}.listItem,.timelineItem{border:1px solid var(--border);background:#ffffff0b;border-radius:18px;gap:18px;padding:15px;transition:all .2s}.listItem{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.panel>.list .listItem{margin-bottom:16px}.panel>.list .listItem:last-child{margin-bottom:0}.listItem:hover,.timelineItem:hover{background:#ffffff13;transform:translateY(-1px)}.listItem small,.timelineItem small{color:var(--muted);margin-top:4px;display:block}.listItem.gepland{border-color:#ffb0206b}.listItem.betaald{border-color:#37d67a52}.listItem.geannuleerd{opacity:.45}.right{align-items:center;gap:12px;display:flex}.right button,.fixedRow button{border:1px solid var(--border);color:var(--muted);background:0 0;border-radius:12px;padding:10px 12px}.right button:hover,.fixedRow button:hover{color:#fff;border-color:var(--red)}.fixedRow{grid-template-columns:32px 1fr 130px 110px 44px;align-items:center;gap:10px;display:grid}.timeline{gap:10px}.timelineItem{border-radius:16px;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;padding:16px 18px;display:grid}.timelineItem strong{margin-bottom:4px;display:block}.timelineItem b{white-space:nowrap;justify-self:end}.dot{background:var(--red);border-radius:999px;width:10px;height:10px;box-shadow:0 0 0 6px #d719201f}.incomeList{margin-top:16px}.list+.stats,.incomeList+.stats{margin-top:24px}.summaryRow{border-bottom:1px solid var(--border);justify-content:space-between;gap:14px;padding:13px 0;display:flex}.summaryRow span{color:var(--muted)}.summaryRow.strong{font-size:20px}.good{color:var(--green)}.bad{color:#ff6268}.tableWrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{border-bottom:1px solid var(--border);text-align:left;padding:14px}th{color:var(--muted);font-size:13px}tbody tr{cursor:pointer;transition:all .18s}tbody tr:hover{background:#d719201c}.yearTotalRow{background:#ffffff0e}.yearTotalRow td{border-top:2px solid var(--border);padding-top:18px;padding-bottom:18px}.yearTotalRow:hover{background:#ffffff14}.emptyState{border:1px dashed var(--border);color:var(--muted);text-align:center;background:#ffffff09;border-radius:18px;padding:18px}.transactionFilters{grid-template-columns:1.6fr 1fr 1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.transactionCount{color:var(--muted);margin-bottom:16px;font-size:13px;font-weight:700}.editExpenseGrid{grid-template-columns:160px 1fr 130px 150px;align-items:center;gap:10px;width:100%;display:grid}.editExpenseGrid .wide,.editActions{grid-column:1/-1}.editActions{justify-content:flex-end;gap:10px;display:flex}.editActions button{border:1px solid var(--border);color:var(--text);background:#ffffff0f;border-radius:12px;padding:10px 14px}.editActions button:hover{border-color:var(--red)}.loginPage{background:radial-gradient(circle at 0 0,#d7192038,#0000 32%),radial-gradient(circle at 100% 100%,#7a0b1033,#0000 38%),#08090c;place-items:center;min-height:100vh;padding:24px;display:grid}.loginCard{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#16181ef0,#101218f5);border:1px solid #ffffff14;border-radius:28px;width:100%;max-width:460px;padding:40px;box-shadow:0 30px 100px #00000073}.loginCard h1{margin-bottom:24px;font-size:42px;line-height:1}.loginCard input{margin-bottom:14px}.loginCard .primary{width:100%}.chartCard{width:100%;margin-bottom:18px;padding:22px}.chartHeader{justify-content:space-between;gap:16px;margin-bottom:12px;display:flex}.chartHeader h3{margin:0 0 6px}.chartHeader p{color:var(--muted);margin:0;font-size:14px}.chartPositive{fill:var(--green)}.chartCost{fill:var(--red)}.chartTooltip{border:1px solid var(--border);max-width:220px;color:var(--text);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none;background:#0a0c12f5;border-radius:14px;padding:10px 12px;box-shadow:0 16px 50px #00000059}.chartTooltip strong,.chartTooltip span{display:block}.chartTooltip strong{margin-bottom:4px}.chartTooltip span{color:var(--muted);margin-top:4px;font-size:13px}.chartSelectedInfo{border:1px solid var(--border);background:#ffffff0e;border-radius:18px;gap:4px;margin-top:14px;padding:14px 16px;display:grid}.chartSelectedInfo span{color:var(--muted);font-size:13px;font-weight:700}.chartSelectedInfo strong{font-size:24px}.chartSelectedInfo small{color:var(--muted)}.recharts-wrapper,.recharts-wrapper *,.recharts-surface,.recharts-layer,.recharts-bar-rectangle,.recharts-rectangle{-webkit-tap-highlight-color:transparent;outline:none!important}.recharts-wrapper,.recharts-surface{overflow:visible!important}.recharts-cartesian-axis-tick-value{fill:var(--muted)}.recharts-tooltip-wrapper{color:#111827;z-index:99999!important;pointer-events:none!important}.recharts-active-bar .recharts-rectangle,.recharts-bar-rectangle:focus,.recharts-rectangle:focus{stroke:#0000!important;outline:none!important}.quickAdd{display:none}.quickAdd button{border:1px solid var(--border);color:var(--text);background:#ffffff0e;border-radius:999px;padding:10px 14px;font-weight:700;transition:all .2s}.quickAdd button:hover{border-color:var(--red);background:#ffffff17;transform:translateY(-1px)}.theme-rider{--bg:#08090c;--panel:#16181edb;--panel2:#1d2028;--border:#ffffff14;--text:#f6f7fb;--muted:#9da3b4;--red:#d71920;--red2:#7a0b10;background:radial-gradient(circle at top left, #d7192038, transparent 32%), radial-gradient(circle at bottom right, #7a0b1033, transparent 38%), var(--bg)}.theme-forest{--bg:#07130d;--panel:#0e1c14e6;--panel2:#102018;--border:#bbf7d01f;--text:#ecfdf5;--muted:#9ca3af;--red:#22c55e;--red2:#166534;--green:#4ade80;background:radial-gradient(circle at top left, #22c55e29, transparent 34rem), radial-gradient(circle at bottom right, #14532d38, transparent 36rem), linear-gradient(135deg, var(--bg), #0b1f14 60%, var(--bg))}.theme-midnight{--bg:#080b18;--panel:#111827e6;--panel2:#111827;--border:#a5b4fc21;--text:#eef2ff;--muted:#a5b4fc;--red:#8b5cf6;--red2:#4f46e5;--green:#34d399;background:radial-gradient(circle at top left, #8b5cf62e, transparent 34rem), radial-gradient(circle at bottom right, #4f46e52e, transparent 36rem), linear-gradient(135deg, var(--bg), #111827 60%, var(--bg))}.theme-dark{--bg:#0d1117;--panel:#161b22eb;--panel2:#161b22;--border:#ffffff1a;--text:#e6edf3;--muted:#8b949e;--red:#8b949e;--red2:#30363d;background:radial-gradient(circle at top left, #94a3b81a, transparent 32%), var(--bg)}.theme-corporate{--bg:#f4f7fb;--panel:#ffffffeb;--panel2:#fff;--border:#0f172a1f;--text:#0f172a;--muted:#64748b;--red:#2563eb;--red2:#1e40af;--green:#15803d;background:radial-gradient(circle at top left, #2563eb21, transparent 34rem), radial-gradient(circle at bottom right, #0ea5e91c, transparent 36rem), linear-gradient(135deg, var(--bg), #eef2f7 60%, var(--bg))}.theme-light{--bg:#f8fafc;--panel:#fffffff0;--panel2:#fff;--border:#0f172a1a;--text:#111827;--muted:#6b7280;--red:#111827;--red2:#374151;background:radial-gradient(circle at top left, #0f172a0f, transparent 32%), linear-gradient(135deg, var(--bg), #eef2f7 60%, var(--bg))}.theme-corporate,.theme-light{color:#111827}.theme-corporate .sidebar,.theme-light .sidebar{color:#111827;background:#ffffffbf}.theme-corporate .brand small,.theme-light .brand small,.theme-corporate .eyebrow,.theme-light .eyebrow,.theme-corporate .summaryRow span,.theme-light .summaryRow span,.theme-corporate .stat span,.theme-light .stat span,.theme-corporate small,.theme-light small,.theme-corporate label,.theme-light label,.theme-corporate .monthPicker,.theme-light .monthPicker{color:#4b5563}.theme-corporate h1,.theme-corporate h2,.theme-corporate h3,.theme-corporate strong,.theme-corporate b,.theme-corporate .heroAmount,.theme-corporate .stat strong,.theme-corporate .summaryRow strong,.theme-corporate .summaryRow b,.theme-light h1,.theme-light h2,.theme-light h3,.theme-light strong,.theme-light b,.theme-light .heroAmount,.theme-light .stat strong,.theme-light .summaryRow strong,.theme-light .summaryRow b{color:#111827}.theme-corporate nav button,.theme-light nav button{color:#374151}.theme-corporate nav button.active,.theme-corporate nav button:hover,.theme-light nav button.active,.theme-light nav button:hover{color:#111827;background:#0f172a14}.theme-corporate input,.theme-corporate select,.theme-light input,.theme-light select{color:#111827;background:#ffffffd9}.theme-corporate input:hover,.theme-corporate select:hover,.theme-light input:hover,.theme-light select:hover{background:#fffffffa;border-color:#0f172a3d}.theme-corporate input:focus,.theme-corporate select:focus,.theme-light input:focus,.theme-light select:focus{box-shadow:0 0 0 4px #2563eb21,0 12px 30px #0f172a1f}.theme-corporate .panel,.theme-corporate .stat,.theme-corporate .listItem,.theme-corporate .timelineItem,.theme-light .panel,.theme-light .stat,.theme-light .listItem,.theme-light .timelineItem{color:#111827}.theme-corporate .panel,.theme-corporate .stat,.theme-light .panel,.theme-light .stat{background:#ffffffe0}.theme-corporate .heroPanel,.theme-light .heroPanel{background:linear-gradient(135deg,#ffffffe6,#e2e8f0c7)}.theme-corporate .topbar,.theme-light .topbar{background:0 0}.theme-corporate .panel:hover,.theme-corporate .stat:hover,.theme-light .panel:hover,.theme-light .stat:hover{box-shadow:0 24px 70px #0f172a29}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width>=1051px){.content{width:calc(100% - 280px);max-width:none;margin-left:280px}}@media (width>=1800px){.content{padding-left:70px;padding-right:70px}}.mobileNav{display:none}@media (width<=1150px){.topbar{z-index:200;border:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px;grid-template-columns:1fr;align-items:stretch;gap:8px;margin-bottom:12px;padding:12px;position:sticky;top:8px;box-shadow:0 14px 40px #0000003d;background:#08090cd1!important}.topbarLeft,.topbarRight{width:100%}.topbarRight{grid-template-columns:1fr;gap:8px;display:grid}.topbar h1{font-size:26px}.monthQuickNav{grid-template-columns:repeat(3,1fr);gap:8px;width:100%;display:grid}.monthQuickNav button{width:100%;min-height:36px;padding:7px 5px;font-size:12px}.topControls{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.monthPicker,.themeSwitcher{min-width:0}.monthPicker input,.themeSwitcher select{width:100%;min-width:0;height:38px;min-height:38px;font-size:12px}.monthPicker label,.themeSwitcher label{font-size:11px}.theme-corporate .topbar,.theme-light .topbar{background:#ffffffe0!important}}@media (width<=1050px){.content{width:100%;margin-left:0;padding:8px 12px 130px}.grid.two{grid-template-columns:1fr 1fr}.heroPanel{flex-direction:column;align-items:flex-start}.fixedRow{grid-template-columns:32px 1fr}.fixedRow input[type=number],.fixedRow button{grid-column:2}.inlineForm{grid-template-columns:1fr}.mobileNav{left:12px;right:12px;bottom:max(12px, env(safe-area-inset-bottom));z-index:9999;border:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#08090cd1;border-radius:22px;grid-template-columns:repeat(6,1fr);gap:8px;padding:10px;display:grid;position:fixed;box-shadow:0 18px 50px #00000059}.mobileNav button{color:var(--muted);background:0 0;border:0;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;font-size:11px;transition:all .2s;display:flex}.mobileNav button.active{color:#fff;background:#ffffff14}.mobileNav button svg{width:18px;height:18px}}@media (width<=900px){.heroAmount{text-align:left}.transactionFilters{grid-template-columns:1fr 1fr}}@media (width<=800px){.editExpenseGrid{grid-template-columns:1fr}.editActions{justify-content:stretch}.editActions button{width:100%}}@media (width<=780px){.formGrid{grid-template-columns:1fr}}@media (width<=640px){.content{padding:8px 14px calc(120px + env(safe-area-inset-bottom))!important}.eyebrow{font-size:10px}.topbar{border-radius:20px;gap:10px;padding:12px;top:8px}.topbar h1{font-size:28px;line-height:1.05}.topControls,.transactionFilters{grid-template-columns:1fr;gap:10px}.monthPicker,.themeSwitcher,.monthPicker input,.themeSwitcher select,.transactionFilters input,.transactionFilters select{width:100%;min-width:0}.monthPicker input,.themeSwitcher select,.transactionFilters input,.transactionFilters select{border-radius:14px;height:44px;min-height:44px;padding:0 14px;font-size:14px}.monthQuickNav button{border-radius:14px;min-height:38px;padding:8px 6px;font-size:13px}.heroPanel{border-radius:22px;gap:16px;margin-bottom:14px;padding:18px}.heroPanel h2{font-size:36px}.heroPanel p{font-size:15px;line-height:1.35}.heroAmount{font-size:38px;line-height:1}.stats,.dashboardGrid{grid-template-columns:1fr}.stats{gap:12px;margin:14px 0}.dashboardGrid{gap:14px}.stat,.panel,.chartCard{border-radius:20px;padding:16px}.stat span{margin-bottom:8px;font-size:15px}.stat strong{font-size:26px;line-height:1.1}.transactionCount{margin:4px 0 16px;font-size:13px}.listItem{border-radius:18px;grid-template-columns:1fr;align-items:start;gap:12px;margin-bottom:12px;padding:16px;display:grid}.listItem>div:first-child{min-width:0}.listItem strong{margin-bottom:4px;font-size:16px;line-height:1.15;display:block}.listItem small{font-size:13px;line-height:1.3}.listItem .right{grid-template-columns:1fr auto;align-items:center;gap:10px;width:100%;display:grid}.listItem .right b{white-space:nowrap;justify-self:start;font-size:16px}.listItem .right button{border-radius:12px;justify-self:end;min-height:38px;padding:8px 12px;font-size:14px}.timelineItem{grid-template-columns:14px 1fr}.timelineItem b{grid-column:2;justify-self:start}.chartHeader{flex-direction:column;gap:4px}.chartHeader p,.chartTooltip,.transactionCount{font-size:12px}.chartTooltip{padding:8px 10px}.chartSelectedInfo{padding:12px}.chartSelectedInfo strong{font-size:20px}.recharts-cartesian-axis-tick-value{font-size:11px}.quickAdd{grid-template-columns:1fr 1fr;gap:10px;margin:0 0 22px;display:grid}.quickAdd button{width:100%;min-height:42px;padding:10px 8px;font-size:12px}.mobileNav{left:10px;right:10px;bottom:max(10px, env(safe-area-inset-bottom));gap:4px;padding:8px}.mobileNav button{border-radius:16px;gap:4px;min-width:0;padding:8px 3px;font-size:10px}.mobileNav button span{word-break:normal;line-height:1.1}}.mutationActions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.mutationActions button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#ffffff0e;border-radius:999px;padding:10px 14px;font-weight:700;transition:all .2s}.mutationActions button:hover{border-color:var(--red);background:#ffffff17;transform:translateY(-1px)}@media (width<=640px){.mutationActions{grid-template-columns:1fr;display:grid}.mutationActions button{width:100%}}.backupActions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.backupImport{border:1px solid var(--border);min-height:46px;color:var(--text);cursor:pointer;background:#ffffff0e;border-radius:14px;padding:12px 18px;font-weight:800;transition:all .2s}.backupImport:hover{border-color:var(--red);background:#ffffff17;transform:translateY(-1px)}.backupImport input{display:none}.backupNote{color:var(--muted);margin:14px 0 0;font-size:13px;line-height:1.4}@media (width<=640px){.backupActions{grid-template-columns:1fr;display:grid}.backupActions .primary,.backupImport{text-align:center;width:100%}}.quickAddSection{margin:0 0 22px}.sectionHeader{margin-bottom:12px}.sectionHeader h2{margin:0 0 4px;font-size:20px}.sectionHeader p{color:var(--muted);margin:0;font-size:14px;line-height:1.4}@media (width<=640px){.quickAddSection{margin-bottom:24px}.sectionHeader h2{font-size:18px}.sectionHeader p{font-size:13px}}.quickModalBackdrop{z-index:99999;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000a6;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.quickModal{border:1px solid var(--border);width:min(100%,420px);max-height:min(82vh,560px);color:var(--text);background:#0e1016fa;border-radius:24px;padding:22px;overflow-y:auto;box-shadow:0 28px 90px #0000008c}.quickModal h3{margin:0 0 8px;font-size:24px}.quickModal p{color:var(--muted);margin:0 0 16px;line-height:1.4}.quickModal input{width:100%}.quickModalActions{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.quickModalActions button{cursor:pointer;border-radius:14px;min-height:44px}.quickModalActions button:not(.primary){border:1px solid var(--border);color:var(--text);background:#ffffff0e}.quickModalActions button:not(.primary):hover{border-color:var(--red);background:#ffffff17}@media (width<=640px){.quickModal{border-radius:22px;width:100%;padding:18px}.quickModal h3{font-size:21px}.quickModalActions{grid-template-columns:1fr}input,select,textarea{font-size:16px!important}input:focus,select:focus,textarea:focus{scroll-margin-bottom:190px;box-shadow:0 0 0 3px #d719201a,0 10px 24px #0000002e}.content{padding-bottom:calc(155px + env(safe-area-inset-bottom))!important}.panel,.chartCard,.heroPanel{scroll-margin-bottom:180px}.mobileNav{bottom:max(10px, env(safe-area-inset-bottom))}.quickModalBackdrop{padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom));align-items:end}.quickModal{max-height:78vh;overflow-y:auto}.quickModal input{margin-bottom:4px}}.backButton{border:1px solid var(--border);min-height:42px;color:var(--text);cursor:pointer;background:#ffffff0e;border-radius:14px;margin-bottom:18px;padding:10px 14px;font-weight:800}.backButton:hover{border-color:var(--red);background:#ffffff17;transform:translateY(-1px)}.reportActions{margin-top:16px}.reportPreview{gap:10px;display:grid}.reportPreview h2{margin:0 0 6px}.reportPreview p{color:var(--muted);margin:0;line-height:1.5}@media print{.mobileNav,.sidebar,.topbar,.backButton,.reportActions{display:none!important}html,body,#root,.app,.content{color:#000!important;background:#fff!important}.content{width:100%!important;margin:0!important;padding:0!important}.panel{page-break-inside:avoid;box-shadow:none!important;color:#000!important;background:#fff!important;border:1px solid #ddd!important}.panel h2,.reportPreview,.reportPreview h2,.reportPreview p,.reportPreview strong{color:#000!important}}.financialReport{gap:16px;max-width:1100px;margin:0 auto;display:grid}.reportCover{border:1px solid var(--border);box-shadow:var(--shadow);background:radial-gradient(circle at 0 0,#d719202e,#0000 26rem),linear-gradient(135deg,#d7192038,#16181eeb);border-radius:26px;justify-content:space-between;gap:24px;padding:24px;display:flex}.reportCover h1{letter-spacing:-.04em;margin:0;font-size:clamp(32px,5vw,52px)}.reportCover p{color:var(--muted);margin:8px 0 0}.reportEyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:900;color:#ffb3b6!important;margin:0 0 8px!important}.reportMeta{text-align:right;align-content:center;gap:5px;display:grid}.reportMeta span,.reportMuted{color:var(--muted)}.reportCardGrid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.reportMetric{border:1px solid var(--border);box-shadow:var(--shadow);background:linear-gradient(#ffffff12,#ffffff09);border-radius:20px;padding:18px}.reportMetric span{color:var(--muted);margin-bottom:8px;font-size:13px;display:block}.reportMetric strong{font-size:clamp(20px,3vw,28px)}.reportSection{border:1px solid var(--border);box-shadow:var(--shadow);background:linear-gradient(#ffffff0f,#ffffff08);border-radius:24px;padding:22px}.reportSection h2{margin:0 0 14px}.reportTableWrap{overflow-x:auto}.reportTable{border-collapse:collapse;width:100%;min-width:760px}.reportTable th,.reportTable td{border-bottom:1px solid var(--border);text-align:left;padding:11px 10px}.reportTable th{color:var(--muted);font-size:12px}.reportTotalRow{background:#ffffff0f;font-weight:900}.reportList{gap:0;display:grid}.reportLine{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 0;display:grid}.reportLine span{min-width:0;color:var(--muted);line-height:1.35}.reportLine strong{white-space:nowrap;text-align:right}.reportMiniGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px;margin-top:16px;display:grid}.reportMiniGrid div{border:1px solid var(--border);background:#ffffff0a;border-radius:16px;padding:14px}.reportMiniGrid span{color:var(--muted);margin-bottom:6px;font-size:13px;display:block}@media (width<=760px){.financialReport{gap:14px}.reportCover{padding:20px;display:grid}.reportMeta{text-align:left}.reportCardGrid{grid-template-columns:1fr}.reportLine{grid-template-columns:1fr;gap:4px}.reportLine strong{text-align:left}}@media print{@page{size:A4 portrait;margin:10mm}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.sidebar,.mobileNav,.topbar,.backButton,.reportActions,.backupActions,.backupNote{display:none!important}html,body,#root,.app,.content{color:#111827!important;box-shadow:none!important;background:#fff!important}body{font-size:10.5px!important}.content{width:100%!important;margin:0!important;padding:0!important}.panel{display:none!important}.financialReport{gap:7px!important;max-width:none!important;margin:0!important;display:grid!important}.reportCover{color:#111827!important;box-shadow:none!important;page-break-inside:avoid!important;background:#fff5f5!important;border:1px solid #d1d5db!important;border-left:7px solid #d71920!important;border-radius:8px!important;justify-content:space-between!important;align-items:center!important;padding:10px 12px!important;display:flex!important}.reportCover h1{font-size:24px!important;line-height:1.05!important}.reportCover p{color:#4b5563!important;margin-top:4px!important;font-size:10px!important}.reportEyebrow{color:#991b1b!important;margin-bottom:3px!important;font-size:8px!important}.reportMeta{text-align:right!important;color:#4b5563!important;font-size:9px!important}.reportCardGrid{grid-template-columns:repeat(4,1fr)!important;gap:6px!important}.reportMetric{box-shadow:none!important;page-break-inside:avoid!important;background:#f9fafb!important;border:1px solid #d1d5db!important;border-radius:8px!important;padding:8px!important}.reportMetric span{color:#6b7280!important;margin-bottom:3px!important;font-size:8.5px!important}.reportMetric strong{color:#111827!important;font-size:15px!important}.reportSection{box-shadow:none!important;page-break-inside:avoid!important;background:#fff!important;border:1px solid #d1d5db!important;border-radius:8px!important;padding:9px 10px!important}.reportSection h2{color:#111827!important;border-bottom:1px solid #e5e7eb!important;margin:0 0 6px!important;padding-bottom:3px!important;font-size:14px!important}.reportTable{width:100%!important;min-width:0!important;font-size:8.8px!important}.reportTable th,.reportTable td{color:#111827!important;border-bottom:1px solid #e5e7eb!important;padding:4px!important}.reportTable th{color:#6b7280!important;font-size:8px!important}.reportTotalRow{background:#f3f4f6!important;font-weight:900!important}.reportList{gap:0!important}.reportLine{page-break-inside:avoid!important;border-bottom:1px solid #e5e7eb!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;padding:3px 0!important;font-size:9px!important;display:grid!important}.reportLine span{color:#4b5563!important;line-height:1.2!important}.reportLine strong{color:#111827!important;white-space:nowrap!important}.reportMiniGrid{grid-template-columns:repeat(3,1fr)!important;gap:6px!important;margin-top:6px!important}.reportMiniGrid div{background:#f9fafb!important;border:1px solid #e5e7eb!important;border-radius:6px!important;padding:6px!important}.reportMiniGrid span{color:#6b7280!important;margin-bottom:2px!important;font-size:8px!important}.good{color:#047857!important}.bad{color:#dc2626!important}}@media (width<=640px){.mobileNav{grid-template-columns:repeat(4,1fr)}}.adminPage{flex-direction:column;gap:22px;display:flex}.adminMainGrid{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:start;gap:22px;display:grid}.adminCreateGrid,.adminEditGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.adminActionsRow{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.adminUsersList{flex-direction:column;gap:12px;display:flex}.adminUserCard{text-align:left;border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;background:radial-gradient(circle at 0 0,#ffffff0d,#0000 18rem),#ffffff09;border-radius:16px;padding:15px 16px;transition:all .2s}.adminUserCard:hover{border-color:#ffffff38;transform:translateY(-1px)}.adminUserCard.active{border-color:#d71920cc;box-shadow:0 0 0 1px #d7192040,0 18px 44px #0000002e}.adminUserCardTop{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px;display:flex}.adminUserCardTop strong{font-size:16px;display:block}.adminUserCardTop small{color:var(--muted);margin-top:3px;display:block}.adminBadges{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.adminUserCardMeta{color:var(--muted);gap:4px;font-size:13px;display:grid}.roleBadge,.statusBadge{text-transform:capitalize;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:4px 10px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.roleBadge.admin{color:#ff7b80;background:#d719202b}.roleBadge.user{color:#d9d9d9;background:#ffffff14}.statusBadge.active{color:#4ade80;background:#22c55e24}.statusBadge.locked{color:#fbbf24;background:#f59e0b29}.statusBadge.disabled{color:#f87171;background:#ef444429}.selectedUserHeader{border:1px solid var(--border);background:#ffffff09;border-radius:16px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;padding:14px;display:flex}.selectedUserHeader span{color:var(--muted);font-size:13px;display:block}.selectedUserHeader strong{margin-top:4px;font-size:18px;display:block}.adminButtonWrap{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.adminButtonWrap button{min-height:42px}.dangerButton{color:#f87171!important;background:#ef44441a!important;border-color:#ef444459!important}.dangerButton:hover:not(:disabled){background:#ef44442e!important}.dangerButton:disabled{opacity:.45;cursor:not-allowed}.adminHistoryTable th,.adminHistoryTable td{vertical-align:top}.adminHistoryTable code{white-space:pre-wrap;word-break:break-word;max-width:520px;font-size:12px;display:block}@media (width<=760px){.adminCreateGrid,.adminEditGrid{grid-template-columns:1fr}.adminUserCardTop,.selectedUserHeader{display:grid}.adminBadges{justify-content:flex-start}.adminButtonWrap{display:grid}.adminButtonWrap button{width:100%}}.logoutBtn{color:#fff;white-space:nowrap;background:#d719202e;border:1px solid #d7192059;border-radius:12px;align-self:end;min-height:42px;padding:10px 14px;font-weight:800}.logoutBtn:hover{background:#d7192047;transform:translateY(-1px)}@media (width<=1050px){.mobileNav{grid-template-columns:repeat(4,1fr)}}.topbarActions{justify-content:flex-end;align-items:end;display:flex}.sectionDivider{background:var(--border);height:1px;margin:24px 0}@media (width<=700px){.content{width:100%;max-width:100%;overflow-x:hidden;padding:10px 10px calc(150px + env(safe-area-inset-bottom))!important}.panel,.stat,.chartCard{border-radius:18px;width:100%;max-width:100%;padding:15px}.panel{margin-bottom:14px}.panel h2{margin-bottom:14px;font-size:19px}.formGrid{gap:11px;grid-template-columns:1fr!important}.formGrid label{gap:6px;font-size:13px}input,select,textarea{border-radius:13px;width:100%;min-height:44px;padding:10px 13px;font-size:16px!important}.primary,.backButton,.logoutBtn,.backupImport,button{justify-content:center;width:100%;min-height:43px}.backupActions,.reportActions,.mutationActions,.adminButtonWrap{grid-template-columns:1fr;gap:10px;display:grid}.stats{grid-template-columns:1fr;gap:10px;margin:12px 0 14px}.stat{padding:14px}.stat span{font-size:13px}.stat strong{font-size:24px}.list,.fixedList,.timeline{gap:10px}.listItem{grid-template-columns:1fr;gap:10px;margin-bottom:10px;padding:14px;display:grid}.listItem .right{grid-template-columns:1fr;gap:8px;width:100%;display:grid}.listItem .right b,.listItem .right button{justify-self:stretch;width:100%}.sectionDivider{margin:18px 0}h3{margin:0 0 12px;font-size:1rem}.topbar{border-radius:18px;padding:11px}.topbar h1{font-size:25px}.monthQuickNav{grid-template-columns:repeat(3,1fr)}.topControls{grid-template-columns:1fr}.mobileNav{left:8px;right:8px;bottom:max(8px, env(safe-area-inset-bottom));border-radius:20px;grid-template-columns:repeat(4,1fr);gap:4px;padding:7px}.mobileNav button{width:auto;min-height:48px;padding:7px 3px;font-size:10px}}@media (width>=1051px){.sidebar{width:280px!important;display:block!important}.content{width:calc(100% - 280px)!important;margin-left:280px!important;padding:32px 60px 48px!important}.mobileNav{display:none!important}}@media (width<=1050px){.sidebar{display:none!important}.content{width:100%!important;margin-left:0!important}.mobileNav{display:grid!important}}@media (width<=700px){.content{padding:10px 10px calc(150px + env(safe-area-inset-bottom))!important}.panel,.stat,.chartCard{border-radius:18px;padding:15px}.formGrid{grid-template-columns:1fr!important}.primary,.backButton,.logoutBtn,.primary,.backupImport{width:100%}button{max-width:100%}.mobileNav{left:8px;right:8px;grid-template-columns:repeat(4,1fr)!important}.mobileNav button{width:auto!important}}@media (width<=640px){.quickModalBackdrop{align-items:center!important;padding:14px!important}.quickModal{max-width:420px;margin-bottom:90px;overflow-y:auto;width:100%!important;max-height:calc(100vh - 190px)!important}.quickModalActions{grid-template-columns:1fr}}.reportCover{justify-content:space-between;align-items:center;gap:28px;display:flex}.reportCoverLeft{align-items:center;gap:18px;display:flex}.reportLogo{background:linear-gradient(135deg, var(--red), var(--red2));color:#fff;border-radius:22px;place-items:center;width:68px;height:68px;font-size:30px;font-weight:900;display:grid;box-shadow:0 16px 40px #d7192059}.reportSub{color:var(--muted);font-size:14px;margin-top:6px!important}.reportPeriod{border:1px solid var(--border);background:#ffffff0d;border-radius:999px;align-items:center;margin-top:14px;padding:8px 12px;font-size:13px;font-weight:700;display:inline-flex}.reportMeta{text-align:right;gap:12px;display:grid}.reportMeta div{gap:3px;display:grid}.reportMeta span{color:var(--muted);font-size:12px}.pageAnimation{animation:.28s pageFade}@keyframes pageFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.panel,.chartCard,.stat{animation:.22s panelFade}@keyframes panelFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.pageAnimation>*{animation:.24s both softPageEnter}@keyframes softPageEnter{0%{opacity:0;transform:translateY(8px)scale(.995)}to{opacity:1;transform:translateY(0)scale(1)}}.panel,.chartCard,.stat,.heroPanel,.reportSection,.reportMetric{animation:.22s both softCardEnter}@keyframes softCardEnter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}button,.listItem,.timelineItem,.adminUserCard{transition:transform .18s,background .18s,border-color .18s,box-shadow .18s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media print{.mobileNav,.sidebar,.topbar,.backButton,.reportActions,.backupActions,.backupNote{display:none!important}.content{width:100%!important;margin:0!important;padding:0!important}}@media (width<=768px){.adminContent{grid-template-columns:1fr!important;gap:16px!important;display:grid!important}.adminUsers,.adminUserEditor{width:100%!important;min-width:0!important;max-width:100%!important}.adminUserEditor{max-height:calc(100vh - 170px)!important;padding-bottom:120px!important;overflow-y:auto!important}.adminContent{flex-direction:column!important;gap:20px!important;display:flex!important}.adminUsers{width:100%!important;max-width:100%!important}.adminUserEditor{width:100%!important;max-width:100%!important;max-height:calc(100vh - 140px)!important;padding-bottom:120px!important;overflow-y:auto!important}}@media (width<=900px){.adminMainGrid{grid-template-columns:1fr!important}.adminUsersList,.adminUserCard,.adminCreateGrid,.adminEditGrid{width:100%!important;max-width:100%!important}.adminCreateGrid,.adminEditGrid{grid-template-columns:1fr!important}.selectedUserHeader{flex-direction:column;align-items:flex-start;display:flex}.adminBadges{justify-content:flex-start}.adminButtonWrap{grid-template-columns:1fr;display:grid}.adminButtonWrap button{width:100%}}
