@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-ext-400-normal-CuPM9foi.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-400-normal-xaE7D4Sw.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-400-normal-xAOo5cBP.woff2)format("woff2"),url(/assets/nunito-cyrillic-400-normal-D1j0u8EH.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-vietnamese-400-normal-BHkVbP3T.woff2)format("woff2"),url(/assets/nunito-vietnamese-400-normal-DtOtW02z.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-ext-400-normal-i-8OOpdj.woff2)format("woff2"),url(/assets/nunito-latin-ext-400-normal-CjMJVfGn.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/nunito-cyrillic-ext-500-normal-BooqzoBf.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-500-normal-ryWF3qTI.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/nunito-cyrillic-500-normal-C7KGZCzc.woff2)format("woff2"),url(/assets/nunito-cyrillic-500-normal-CsSUaxYY.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/nunito-vietnamese-500-normal-BpqpEYcO.woff2)format("woff2"),url(/assets/nunito-vietnamese-500-normal-9ShSsgIA.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/nunito-latin-ext-500-normal-DpF2BH_v.woff2)format("woff2"),url(/assets/nunito-latin-ext-500-normal-CVNQN0KE.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/nunito-latin-500-normal-EugFkASW.woff2)format("woff2"),url(/assets/nunito-latin-500-normal-B5klmw3Q.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-cyrillic-ext-600-normal-CWPPjBOD.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-600-normal-vnfu4DTE.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-cyrillic-600-normal-DJGQ2h05.woff2)format("woff2"),url(/assets/nunito-cyrillic-600-normal-BUjmtIuu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-vietnamese-600-normal-BY8O6Cug.woff2)format("woff2"),url(/assets/nunito-vietnamese-600-normal-DO1RqFw5.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-ext-600-normal-Dd9Zuxh1.woff2)format("woff2"),url(/assets/nunito-latin-ext-600-normal-BKUpuB78.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-ext-700-normal-BuR0mlCG.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-700-normal-DfoqN4Gs.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-700-normal-DP36NgGt.woff2)format("woff2"),url(/assets/nunito-cyrillic-700-normal-DfHRUDv-.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-vietnamese-700-normal-Ch8EUCfz.woff2)format("woff2"),url(/assets/nunito-vietnamese-700-normal-C9SQsXvj.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-ext-700-normal-BWeMsAzO.woff2)format("woff2"),url(/assets/nunito-latin-ext-700-normal-D4woHhbd.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-cyrillic-ext-800-normal-B-cvGohL.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-800-normal-pjRatrRO.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-cyrillic-800-normal-D3igD7Kl.woff2)format("woff2"),url(/assets/nunito-cyrillic-800-normal-DymMgApb.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-vietnamese-800-normal-D_CZYdm9.woff2)format("woff2"),url(/assets/nunito-vietnamese-800-normal-Dz0hZPb5.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-ext-800-normal-CtU8tJOV.woff2)format("woff2"),url(/assets/nunito-latin-ext-800-normal-CDcxIxx8.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff)format("woff");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}:root,[data-theme=light]{--bg:#f5f5f9;--bg-card:#fff;--bg-sidebar:#fff;--bg-input:#f1f5f9;--bg-hover:#f1f5f9;--border:#e2e8f0;--text:#1a1a2e;--text-secondary:#64748b;--text-muted:#94a3b8;--green:#16a34a;--red:#ef4444;--orange:#f97316;--blue:#3b82f6;--purple:#8b5cf6;--cyan:#06b6d4;--primary:#1a1a2e;--primary-soft:#f1f5f9;--shadow-card:0 2px 8px #0000000a;--shadow-sm:0 1px 3px #0000000a;--shadow-md:0 4px 12px #0000000f;--modal-backdrop:#0f172a99;--toggle-bg:#e2e8f0;--toggle-knob:#fff;--badge-bg:#f1f5f9;--chart-grid:#e2e8f0;--row-active:#e8f5e9;--row-active-border:#c8e6c9;--row-warn:#fff8e1;--row-warn-border:#ffe082;--row-danger:#ffebee;--row-danger-border:#ffcdd2;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg:#0f1117;--bg-card:#1a1d27;--bg-sidebar:#141620;--bg-input:#252833;--bg-hover:#252833;--border:#2e3142;--text:#e8e9ed;--text-secondary:#9ca3b4;--text-muted:#5c6378;--green:#22c55e;--red:#f87171;--orange:#fb923c;--blue:#60a5fa;--purple:#a78bfa;--cyan:#22d3ee;--primary:#6366f1;--primary-soft:#252833;--shadow-card:0 2px 8px #0003;--shadow-sm:0 1px 3px #0003;--shadow-md:0 4px 12px #0000004d;--modal-backdrop:#000000b3;--toggle-bg:#374151;--toggle-knob:#1f2937;--badge-bg:#252833;--chart-grid:#2e3142;--row-active:#1a2e1f;--row-active-border:#2e7d32;--row-warn:#2e2a14;--row-warn-border:#f9a825;--row-danger:#2e1b1b;--row-danger-border:#c62828;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}html{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--border) transparent}html::-webkit-scrollbar{width:6px}html::-webkit-scrollbar-track{background:0 0}html::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}#root{min-height:100vh;overflow-x:clip}main{min-width:0}input[type=date],input[type=time],input[type=datetime-local]{box-sizing:border-box;width:100%;min-width:0;max-width:100%}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes modal-slide-down{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(12px)scale(.97)}}@keyframes highlight-glow{0%{background-color:#6366f114}50%{background-color:#6366f138}to{background-color:#6366f114}}.tx-highlight{animation:.6s 3 highlight-glow}@keyframes page-fade-in{0%{opacity:0}to{opacity:1}}.page-enter{animation:.15s ease-out page-fade-in}@media (prefers-reduced-motion:reduce){.page-enter{animation:none}}@keyframes preloaderPulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes landingBounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.fc .fc-event{cursor:pointer}[data-theme=dark] .fc{--fc-border-color:var(--border);--fc-page-bg-color:var(--bg-card);--fc-neutral-bg-color:var(--bg-input);--fc-list-event-hover-bg-color:var(--bg-hover);color:var(--text)}[data-theme=dark] .fc .fc-toolbar-title{color:var(--text)}[data-theme=dark] .fc .fc-button{background:var(--bg-input);border-color:var(--border);color:var(--text)}[data-theme=dark] .fc .fc-button:hover{background:var(--bg-hover)}[data-theme=dark] .fc .fc-button-active{background:var(--primary);border-color:var(--primary);color:#fff}[data-theme=dark] .fc .fc-daygrid-day-number{color:var(--text)}[data-theme=dark] .fc .fc-col-header-cell-cushion{color:var(--text-muted)}[data-theme=dark] .fc .fc-col-header-cell{background:var(--bg-input)}[data-theme=dark] .fc .fc-daygrid-day{background:var(--bg-card)}[data-theme=dark] .fc .fc-daygrid-day:hover{background:var(--bg-hover)}[data-theme=dark] .fc .fc-day-today{background:var(--bg-hover)!important}[data-theme=dark] .fc .fc-event{border-color:#0000}[data-theme=dark] .fc .fc-list-event:hover td{background:var(--bg-hover)}[data-theme=dark] .fc th,[data-theme=dark] .fc td,[data-theme=dark] .fc th,[data-theme=dark] .fc .fc-scrollgrid{border-color:var(--border)}[data-theme=dark] .fc .fc-button-primary:not(:disabled).fc-button-active,[data-theme=dark] .fc .fc-button-primary:not(:disabled):active{background:var(--primary);border-color:var(--primary)}[data-theme=dark] .fc .fc-button-primary{background:var(--bg-input);border-color:var(--border);color:var(--text)}[data-theme=dark] .fc .fc-button-primary:hover:not(:disabled){background:var(--bg-hover)}[data-theme=dark] .fc .fc-today-button,[data-theme=dark] .fc .fc-today-button:disabled{background:var(--bg-input);border-color:var(--border);color:var(--text)}@media (max-width:768px){input,select,textarea{font-size:16px!important}main{padding-top:calc(84px + env(safe-area-inset-top,0px))!important;padding-left:calc(12px + env(safe-area-inset-left,0px))!important;padding-right:calc(12px + env(safe-area-inset-right,0px))!important}.fc.fc-theme-standard .fc-toolbar.fc-header-toolbar{flex-wrap:wrap;gap:6px}.fc .fc-toolbar-chunk{align-items:center;gap:4px;display:flex}.fc .fc-toolbar-title{font-size:.95em}.fc .fc-button{padding:.3em .6em;font-size:.8em}.account-card{width:100%!important}}button,.app-nav-link{touch-action:manipulation;transition:background-color .15s,color .15s,border-color .15s,transform .15s,box-shadow .15s;position:relative}button:after,.app-nav-link:after{content:"";border-radius:inherit;opacity:0;pointer-events:none;background:#00000014;transition:opacity .15s;position:absolute;top:0;bottom:0;left:0;right:0}button:hover:after,.app-nav-link:hover:after{opacity:1}
