@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)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:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)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:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.uAKnyG_className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.uAKnyG_variable{--font-sans:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}._08_-3a_className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}._08_-3a_variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--font-sans:var(--font-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:var(--font-mono), monospace;--bg-app:#0e1218;--bg-surface:#151b24;--bg-surface-elevated:#1c2430;--bg-surface-hover:#232d3b;--bg-glass:#151b24e0;--border-subtle:#ffffff12;--border-focus:#3fa46f;--text-main:#e8edf3;--text-muted:#8b96a5;--text-faint:#5d6878;--brand-primary:#3fa46f;--brand-primary-hover:#348a5d;--brand-light:#3fa46f21;--brand-glow:#3fa46f29;--status-paid:#3fa46f;--status-paid-bg:#3fa46f1c;--status-paid-border:#3fa46f47;--status-partial:#d9a13b;--status-partial-bg:#d9a13b1c;--status-partial-border:#d9a13b47;--status-pending:#d96a68;--status-pending-bg:#d96a681c;--status-pending-border:#d96a6847;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-full:9999px;--shadow-sm:0 1px 2px #00000040;--shadow-md:0 4px 12px #0006;--shadow-lg:0 10px 30px #00000080;--shadow-glow:0 0 0 1px var(--brand-glow);--transition:all .2s cubic-bezier(.16, 1, .3, 1);--safe-bottom:env(safe-area-inset-bottom,16px)}.desktop-only{display:block}.mobile-only{display:none!important}@media (max-width:768px){.desktop-only{display:none!important}.mobile-only{display:flex!important}}[data-theme=light]{--bg-app:#f4f6fa;--bg-surface:#fff;--bg-surface-elevated:#f8fafc;--bg-surface-hover:#f1f5f9;--bg-glass:#ffffffe6;--border-subtle:#e2e8f0;--border-focus:#059669;--text-main:#0f172a;--text-muted:#64748b;--text-faint:#94a3b8;--brand-primary:#059669;--brand-primary-hover:#047857;--brand-light:#0596691a;--brand-glow:#05966940;--shadow-sm:0 1px 3px #0000000d;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 12px 36px #0000001f}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--bg-surface-elevated);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.app-container{max-width:1280px;margin:0 auto;padding:16px 20px 100px}@media (min-width:768px){.app-container{padding:24px 32px 60px}}.app-header{flex-direction:column;gap:16px;margin-bottom:24px;display:flex}@media (min-width:768px){.app-header{flex-direction:row;justify-content:space-between;align-items:center}}.brand-section{align-items:center;gap:12px;display:flex}.brand-icon{border-radius:var(--radius-md);color:#fff;width:44px;height:44px;box-shadow:0 4px 14px var(--brand-glow);background:linear-gradient(135deg,#3fa46f 0%,#2a6e4b 100%);justify-content:center;align-items:center;display:flex}.brand-title{letter-spacing:-.02em;background:linear-gradient(135deg,#fff 30%,#9fd3b6 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.35rem;font-weight:800}[data-theme=light] .brand-title{background:linear-gradient(135deg,#0f172a 30%,#059669 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.brand-subtitle{color:var(--text-muted);align-items:center;gap:8px;font-size:.8rem;font-weight:500;display:flex}.header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tech-badge{color:var(--status-paid);letter-spacing:.03em;background:#3fa46f1a;border:1px solid #3fa46f47;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.nav-tabs{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);gap:4px;margin-bottom:24px;padding:4px;display:flex;overflow-x:auto}.nav-tab-btn{border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:var(--transition);white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;padding:8px 18px;font-size:.88rem;font-weight:600;display:flex}.nav-tab-btn:hover{color:var(--text-main);background:var(--bg-surface-hover)}.nav-tab-btn.active{background:var(--brand-primary);color:#fff;box-shadow:0 2px 8px var(--brand-glow)}.tab-badge{font-size:.72rem;font-family:var(--font-mono);background:#fff3;border-radius:999px;padding:2px 7px}.nav-tab-btn:not(.active) .tab-badge{background:var(--bg-surface-elevated);color:var(--text-muted)}.btn{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);font-size:.88rem;font-weight:600;font-family:var(--font-sans);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-primary-hover) 100%);color:#fff;box-shadow:0 3px 12px var(--brand-glow)}.btn-primary:hover{filter:brightness(1.1);box-shadow:0 6px 18px var(--brand-glow);transform:translateY(-1px)}.btn-secondary{background:var(--bg-surface-elevated);color:var(--text-main);border-color:var(--border-subtle)}.btn-secondary:hover{background:var(--bg-surface-hover);border-color:#fff3}.btn-sm{border-radius:var(--radius-sm);padding:6px 12px;font-size:.8rem}.btn-icon-only{border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;padding:10px;display:inline-flex}.btn-icon-only:hover{color:var(--text-main);background:var(--bg-surface-hover)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:var(--transition);flex-direction:column;gap:10px;padding:18px 20px;display:flex;position:relative;overflow:hidden}.stat-card:after{content:"";background:var(--accent-border,var(--brand-primary));width:4px;height:100%;position:absolute;top:0;left:0}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-header{justify-content:space-between;align-items:center;display:flex}.stat-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;font-weight:600}.stat-icon{border-radius:var(--radius-sm);background:var(--bg-surface-elevated);justify-content:center;align-items:center;width:36px;height:36px;display:flex}.stat-value{font-size:1.65rem;font-weight:800;font-family:var(--font-mono);color:var(--text-main);letter-spacing:-.02em}.stat-subtitle{color:var(--text-faint);align-items:center;gap:6px;font-size:.78rem;display:flex}.progress-container{background:var(--bg-surface-elevated);border-radius:999px;width:100%;height:10px;position:relative;overflow:hidden}.progress-bar{background:linear-gradient(90deg,#3fa46f 0%,#6fbf94 100%);border-radius:999px;height:100%;transition:width .6s cubic-bezier(.16,1,.3,1)}.progress-bar.partial{background:linear-gradient(90deg,#c98f2e 0%,#d9a13b 100%)}.progress-bar.pending{background:linear-gradient(90deg,#c05e5c 0%,#d96a68 100%)}.badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.badge-paid{background:var(--status-paid-bg);color:var(--status-paid);border:1px solid var(--status-paid-border)}.badge-partial{background:var(--status-partial-bg);color:var(--status-partial);border:1px solid var(--status-partial-border)}.badge-pending{background:var(--status-pending-bg);color:var(--status-pending);border:1px solid var(--status-pending-border)}.section-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:24px;padding:20px}.section-header{flex-direction:column;gap:12px;margin-bottom:18px;display:flex}@media (min-width:640px){.section-header{flex-direction:row;justify-content:space-between;align-items:center}}.section-title-group{align-items:center;gap:10px;display:flex}.section-title{letter-spacing:-.01em;font-size:1.15rem;font-weight:700}.filter-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.search-input-wrap{flex:1;min-width:200px;position:relative}.search-input-wrap svg{color:var(--text-faint);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:100%;color:var(--text-main);font-size:.88rem;font-family:var(--font-sans);outline:none;padding:9px 12px 9px 38px}.search-input:focus{border-color:var(--border-focus)}.filter-pill{background:var(--bg-surface-elevated);color:var(--text-muted);border:1px solid var(--border-subtle);cursor:pointer;transition:var(--transition);border-radius:999px;padding:6px 14px;font-size:.78rem;font-weight:600}.filter-pill:hover{background:var(--bg-surface-hover);color:var(--text-main)}.filter-pill.active{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.table-responsive{width:100%;overflow-x:auto}.data-table{border-collapse:separate;border-spacing:0;width:100%;font-size:.88rem}.data-table th{background:var(--bg-surface-elevated);color:var(--text-muted);text-align:left;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-subtle);padding:12px 16px;font-size:.78rem;font-weight:600}.data-table th:first-child{border-top-left-radius:var(--radius-md)}.data-table th:last-child{border-top-right-radius:var(--radius-md)}.data-table td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:14px 16px}.data-table tr:hover td{background:var(--bg-surface-hover)}.font-mono{font-family:var(--font-mono)}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:580px;max-height:90vh;box-shadow:var(--shadow-lg);animation:.25s cubic-bezier(.16,1,.3,1) slideUp;overflow-y:auto}.modal-content.wide{max-width:820px}.modal-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);z-index:10;justify-content:space-between;align-items:center;padding:18px 24px;display:flex;position:sticky;top:0}.modal-title{font-size:1.15rem;font-weight:700}.modal-body{flex-direction:column;gap:18px;padding:24px;display:flex}.modal-footer{border-top:1px solid var(--border-subtle);background:var(--bg-surface);justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;display:flex;position:sticky;bottom:0}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-muted);font-size:.82rem;font-weight:600}.form-input,.form-select,.form-textarea{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:100%;color:var(--text-main);font-size:.92rem;font-family:var(--font-sans);transition:var(--transition);outline:none;padding:10px 14px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--brand-light)}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (max-width:540px){.form-row{grid-template-columns:1fr}}.calculation-preview{border:1px dashed var(--brand-primary);border-radius:var(--radius-md);background:linear-gradient(135deg,#3fa46f14 0%,#348a5d0a 100%);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.calc-title{color:var(--text-muted);font-size:.85rem;font-weight:500}.calc-amount{font-size:1.5rem;font-weight:800;font-family:var(--font-mono);color:var(--brand-primary)}.toast-container{z-index:2000;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-main);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);align-items:center;gap:10px;padding:12px 18px;font-size:.88rem;font-weight:500;animation:.25s ease-out slideInRight;display:flex}.toast.success{border-left:4px solid var(--status-paid)}.toast.error{border-left:4px solid var(--status-pending)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@media (max-width:768px){.app-container{padding:12px 14px 100px}.brand-title{font-size:1.15rem}.header-actions{justify-content:space-between;width:100%}.header-actions .btn{flex:1;min-height:44px;font-size:.85rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{border-radius:var(--radius-md);padding:12px 14px}.stat-value{font-size:1.25rem}.stat-icon{width:30px;height:30px}.stat-title{font-size:.72rem}.stat-subtitle{font-size:.7rem}.form-input,.form-select,.form-textarea{border-radius:var(--radius-md);padding:12px 14px;font-size:16px!important}.btn{min-height:44px}.modal-backdrop{align-items:flex-end;padding:0}.modal-content{border-bottom-right-radius:0;border-bottom-left-radius:0;max-height:94vh;animation:.28s cubic-bezier(.16,1,.3,1) slideUpMobile}.modal-header{padding:16px 20px}.modal-body{padding:18px 20px}.modal-footer{padding:14px 20px}.mobile-sale-card{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;margin-bottom:12px;padding:16px;display:flex}.mobile-sale-header{justify-content:space-between;align-items:flex-start;display:flex}.mobile-sale-client{color:var(--brand-primary);font-size:1.05rem;font-weight:700}.mobile-sale-product{color:var(--text-muted);margin-top:2px;font-size:.82rem}.mobile-sale-amounts{background:var(--bg-surface);border-radius:var(--radius-sm);grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px;display:grid}.mobile-sale-amounts-label{color:var(--text-muted);font-size:.72rem}.mobile-sale-amounts-value{font-family:var(--font-mono);font-size:.95rem;font-weight:700}.mobile-sale-actions{gap:8px;margin-top:4px;display:flex}.mobile-sale-actions .btn{flex:1}.mobile-bottom-nav{background:var(--bg-surface);border-top:1px solid var(--border-subtle);padding:8px 4px calc(8px + env(safe-area-inset-bottom,8px));z-index:900;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #00000040}.mobile-nav-item{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:6px 10px;font-size:.7rem;font-weight:600;display:flex;position:relative}.mobile-nav-item.active{color:var(--brand-primary)}.mobile-nav-badge{background:var(--status-pending);color:#fff;font-size:.65rem;font-family:var(--font-mono);border-radius:999px;padding:1px 5px;position:absolute;top:2px;right:14px}}@keyframes slideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.login-container{background:radial-gradient(circle at 50% 15%, #3fa46f12, transparent 50%), radial-gradient(circle at 80% 80%, #1f293780, transparent 40%), var(--bg-app);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:440px;box-shadow:var(--shadow-lg), 0 0 40px #0006;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:36px 32px;animation:.3s ease-out fadeIn}.login-header{text-align:center;margin-bottom:24px}.login-brand-icon{border-radius:var(--radius-md);background:var(--brand-light);border:1px solid var(--brand-glow);width:58px;height:58px;color:var(--brand-primary);box-shadow:0 0 20px var(--brand-glow);justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.login-title{letter-spacing:-.03em;color:var(--text-main);margin-bottom:6px;font-size:1.75rem;font-weight:800}.login-subtitle{color:var(--text-muted);font-size:.85rem;font-weight:500}.login-security-badge{color:var(--brand-primary);border-radius:var(--radius-full);background:#3fa46f14;border:1px solid #3fa46f33;justify-content:center;align-items:center;gap:8px;margin-bottom:24px;padding:8px 12px;font-size:.75rem;font-weight:600;display:flex}.login-error-alert{background:var(--status-pending-bg);border:1px solid var(--status-pending-border);color:var(--status-pending);border-radius:var(--radius-md);align-items:center;gap:10px;margin-bottom:20px;padding:12px 14px;font-size:.85rem;font-weight:500;animation:.3s ease-in-out shake;display:flex}.login-form{flex-direction:column;gap:20px;margin-bottom:24px;display:flex}.input-with-icon{align-items:center;display:flex;position:relative}.input-icon-left{color:var(--text-muted);pointer-events:none;position:absolute;left:14px}.with-left-icon{padding-left:42px!important}.with-right-icon{padding-right:42px!important}.input-icon-right-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:6px;display:flex;position:absolute;right:12px}.input-icon-right-btn:hover{color:var(--text-main)}.login-submit-btn{color:#fff;border-radius:var(--radius-md);cursor:pointer;width:100%;transition:var(--transition);background:linear-gradient(135deg,#3fa46f 0%,#2a6e4b 100%);border:none;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:13px 20px;font-size:.95rem;font-weight:700;display:flex;box-shadow:0 4px 14px #3fa46f40}.login-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#348a5d 0%,#2a6e4b 100%);transform:translateY(-1px);box-shadow:0 6px 18px #3fa46f4d}.login-submit-btn:disabled{opacity:.7;cursor:not-allowed}.login-helper-box{background:var(--bg-surface-elevated);border:1px dashed var(--border-subtle);border-radius:var(--radius-md);padding:16px;font-size:.8rem}.helper-box-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.helper-tag{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:600}.helper-autofill-btn{background:var(--brand-light);color:var(--brand-primary);border:1px solid var(--brand-glow);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);padding:3px 8px;font-size:.7rem;font-weight:600}.helper-autofill-btn:hover{background:var(--brand-primary);color:#fff}.helper-credentials{color:var(--text-main);flex-direction:column;gap:4px;margin-bottom:8px;font-size:.8rem;display:flex}.helper-credentials code{font-family:var(--font-mono);color:var(--brand-primary);background:#0000004d;border-radius:4px;padding:2px 6px}.helper-note{color:var(--text-muted);margin:0;font-size:.72rem;line-height:1.4}.user-badge{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-main);align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:600;display:flex}.user-badge-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.text-danger{color:var(--status-pending)!important}.login-footnote{text-align:center;color:var(--text-muted);margin-top:16px;font-size:.78rem;line-height:1.5}.app-header.minimal{z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--bg-glass);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0}.app-header.minimal .brand-title{letter-spacing:-.02em;font-size:1.05rem;font-weight:800}.app-header.minimal .brand-subtitle{color:var(--text-muted);margin:0;font-size:.72rem}.app-header.minimal .brand-icon{background:var(--brand-primary);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.btn-compact{border-radius:12px;padding:9px 14px;font-size:.85rem}.btn-full{justify-content:center;width:100%}.main-content{padding-bottom:86px}.loading-state{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:10px;padding:72px 20px;display:flex}.empty-state{text-align:center;color:var(--text-muted);padding:24px;font-size:.9rem}.section-count{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-muted);border-radius:999px;padding:2px 9px;font-size:.75rem;font-weight:700}.avatar-btn{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);cursor:pointer;width:38px;height:38px;color:var(--text-main);border-radius:50%;font-weight:800}.user-menu-wrap{position:relative}.menu-backdrop{z-index:49;position:fixed;inset:0}.user-menu{z-index:50;background:var(--bg-surface);border:1px solid var(--border-subtle);min-width:230px;box-shadow:var(--shadow-lg);border-radius:14px;position:absolute;top:46px;right:0;overflow:hidden}.user-menu-head{border-bottom:1px solid var(--border-subtle);padding:12px 14px}.user-menu-name{font-size:.9rem;font-weight:700}.user-menu-mail{color:var(--text-muted);margin-bottom:8px;font-size:.75rem}.user-menu-item{cursor:pointer;width:100%;color:var(--text-main);text-align:left;background:0 0;border:none;align-items:center;gap:9px;padding:11px 14px;font-size:.85rem;display:flex}.user-menu-item:hover{background:var(--bg-surface-hover)}.user-menu-item.danger{color:var(--status-pending)}.role-chip{border:1px solid var(--border-subtle);background:var(--bg-surface-elevated);color:var(--text-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:.7rem;font-weight:700;display:inline-flex}.role-chip.ADMIN{background:var(--brand-light);color:var(--brand-primary);border-color:var(--brand-glow)}.you-chip{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-muted);border-radius:999px;margin-left:6px;padding:1px 7px;font-size:.65rem;font-weight:700}.users-grid{grid-template-columns:1fr;gap:12px;display:grid}@media (min-width:640px){.users-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.users-grid{grid-template-columns:repeat(3,1fr)}}.user-card{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:16px;flex-direction:column;gap:12px;padding:14px;display:flex}.user-card-top{align-items:flex-start;gap:10px;display:flex}.user-avatar{background:var(--brand-light);width:42px;height:42px;color:var(--brand-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;font-weight:800;display:flex}.user-card-name{font-size:.95rem;font-weight:700}.user-card-mail{color:var(--text-muted);text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.user-card-actions{border-top:1px solid var(--border-subtle);gap:8px;padding-top:10px;display:flex}.user-card-actions .btn:first-child{flex:1}.danger-ghost{color:var(--status-pending)}.danger-ghost:disabled{opacity:.35;cursor:not-allowed}.confirm-card{text-align:center;padding:22px 20px 20px;position:relative}.confirm-close{position:absolute;top:12px;right:12px}.confirm-icon{border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin:4px auto 12px;display:flex}.confirm-icon.danger{background:var(--status-pending-bg);color:var(--status-pending);border:1px solid var(--status-pending-border)}.confirm-icon.info{background:var(--brand-light);color:var(--brand-primary);border:1px solid var(--brand-glow)}.confirm-title{margin-bottom:6px;font-size:1.02rem;font-weight:800}.modal-desc{color:var(--text-muted);margin-bottom:18px;font-size:.86rem;line-height:1.55}.modal-actions{gap:10px;display:flex}.btn-danger{background:var(--status-pending);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:none;justify-content:center;align-items:center;gap:7px;padding:10px 16px;font-size:.88rem;font-weight:700;display:inline-flex}.btn-danger:hover:not(:disabled){filter:brightness(.92)}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.empty-emoji{margin-bottom:8px;font-size:2rem;display:block}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}@media (min-width:640px){.modal-overlay{align-items:center;padding:20px}}.modal-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:20px 20px 0 0;width:100%;max-width:440px;max-height:92dvh;overflow-y:auto}@media (min-width:640px){.modal-card{border-radius:20px}}.modal-head{justify-content:space-between;align-items:center;padding:16px 18px 0;display:flex}.modal-head h3{font-size:1rem;font-weight:800}.modal-form{flex-direction:column;gap:12px;padding:16px 18px 20px;display:flex}.mobile-bottom-nav{z-index:40;background:var(--bg-glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border-subtle);padding:8px 6px calc(8px + var(--safe-bottom));justify-content:space-around;position:fixed;bottom:0;left:0;right:0}.mobile-nav-item{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:3px;min-width:0;padding:4px 2px;font-size:.65rem;font-weight:600;display:flex;position:relative}.mobile-nav-item.active{color:var(--brand-primary)}.spin-animation{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}
