@charset "UTF-8";@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url("./media/sora-latin-ext-wght-normal-6VOG353B.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url("./media/sora-latin-wght-normal-SPU4XLJF.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-sans-cyrillic-ext-400-normal-7Z3465FB.woff2") format("woff2"),url("./media/ibm-plex-sans-cyrillic-ext-400-normal-YU2ZJYJL.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-sans-cyrillic-400-normal-APB4EUBL.woff2") format("woff2"),url("./media/ibm-plex-sans-cyrillic-400-normal-7FSQ77DP.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-sans-greek-400-normal-L4LAXORB.woff2") format("woff2"),url("./media/ibm-plex-sans-greek-400-normal-X3NYKSO2.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-sans-vietnamese-400-normal-P5ZB55LJ.woff2") format("woff2"),url("./media/ibm-plex-sans-vietnamese-400-normal-A4XVIM4G.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-sans-latin-ext-400-normal-EDOVP6TU.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-ext-400-normal-IC47YBOO.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-sans-latin-400-normal-COQVXTP6.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-400-normal-JC3YNCCZ.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/ibm-plex-sans-cyrillic-ext-500-normal-SJW52W6D.woff2") format("woff2"),url("./media/ibm-plex-sans-cyrillic-ext-500-normal-Z7QHO46N.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/ibm-plex-sans-cyrillic-500-normal-R6B2XZIQ.woff2") format("woff2"),url("./media/ibm-plex-sans-cyrillic-500-normal-WNQEPSX2.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/ibm-plex-sans-greek-500-normal-4XELGUF7.woff2") format("woff2"),url("./media/ibm-plex-sans-greek-500-normal-B6ARYOP3.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/ibm-plex-sans-vietnamese-500-normal-J2J6G2N5.woff2") format("woff2"),url("./media/ibm-plex-sans-vietnamese-500-normal-OZE7IZOF.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/ibm-plex-sans-latin-ext-500-normal-SG2XNXKB.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-ext-500-normal-4YL5ICYH.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/ibm-plex-sans-latin-500-normal-JTONHBWS.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-500-normal-7DOULDHV.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/ibm-plex-sans-cyrillic-ext-600-normal-HGPMDSPK.woff2") format("woff2"),url("./media/ibm-plex-sans-cyrillic-ext-600-normal-UU6N6VST.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/ibm-plex-sans-cyrillic-600-normal-AFPTCLK6.woff2") format("woff2"),url("./media/ibm-plex-sans-cyrillic-600-normal-7XGRL4XO.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/ibm-plex-sans-greek-600-normal-NTJH3CYY.woff2") format("woff2"),url("./media/ibm-plex-sans-greek-600-normal-GD52DGQ2.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/ibm-plex-sans-vietnamese-600-normal-JKSXZXZW.woff2") format("woff2"),url("./media/ibm-plex-sans-vietnamese-600-normal-5IGNKSLH.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/ibm-plex-sans-latin-ext-600-normal-ZNWKNRXL.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-ext-600-normal-OPCHJXXH.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/ibm-plex-sans-latin-600-normal-DTNZULF4.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-600-normal-B3O423MA.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--theme-t: 0;--ink: color-mix(in srgb, #484848 calc((1 - var(--theme-t)) * 100%), #f2f1ed);--ink-soft: color-mix(in srgb, #767676 calc((1 - var(--theme-t)) * 100%), #a7aab2);--ink-faint: color-mix(in srgb, #9a9a9a calc((1 - var(--theme-t)) * 100%), #7d8088);--ink-solid: color-mix(in srgb, #000000 calc((1 - var(--theme-t)) * 100%), #f2f1ed);--paper: color-mix(in srgb, #ffffff calc((1 - var(--theme-t)) * 100%), #000000);--surface: color-mix(in srgb, #f7f6f3 calc((1 - var(--theme-t)) * 100%), #17181d);--surface-2: color-mix(in srgb, #efece6 calc((1 - var(--theme-t)) * 100%), #1e2027);--accent: color-mix(in srgb, #ff385c calc((1 - var(--theme-t)) * 100%), #ff6b85);--accent-2: color-mix(in srgb, #ff7a56 calc((1 - var(--theme-t)) * 100%), #ff9270);--accent-gradient: linear-gradient( 155deg, color-mix(in srgb, #ff4d6d calc((1 - var(--theme-t)) * 100%), #ff6b85) 0%, color-mix(in srgb, #ff7a56 calc((1 - var(--theme-t)) * 100%), #ff9270) 100% );--accent-deep: color-mix(in srgb, #e00b41 calc((1 - var(--theme-t)) * 100%), #ff3d6a);--accent-pale: color-mix(in srgb, #ffd1da calc((1 - var(--theme-t)) * 100%), #2e1419);--on-accent: #ffffff;--mist: color-mix(in srgb, #00a699 calc((1 - var(--theme-t)) * 100%), #26c4b8);--mist-deep: color-mix(in srgb, #008c82 calc((1 - var(--theme-t)) * 100%), #26c4b8);--sand: color-mix(in srgb, #767676 calc((1 - var(--theme-t)) * 100%), #9aa0a6);--amber: color-mix(in srgb, #c6862f calc((1 - var(--theme-t)) * 100%), #e0a54c);--amber-pale: color-mix(in srgb, #fff4e9 calc((1 - var(--theme-t)) * 100%), #2c2013);--goal-badge: color-mix(in srgb, #ffe6c7 calc((1 - var(--theme-t)) * 100%), #3a2c16);--goal-text: color-mix(in srgb, #8a6a38 calc((1 - var(--theme-t)) * 100%), #e0b57f);--overrun-bg: color-mix(in srgb, #fff0f3 calc((1 - var(--theme-t)) * 100%), #33141a);--overrun-badge: color-mix(in srgb, #ffd1da calc((1 - var(--theme-t)) * 100%), #3a1a22);--overrun-text: color-mix(in srgb, #b0123c calc((1 - var(--theme-t)) * 100%), #ff6b85);--red: color-mix(in srgb, #ff385c calc((1 - var(--theme-t)) * 100%), #ff6b85);--red-pale: color-mix(in srgb, #fff0f3 calc((1 - var(--theme-t)) * 100%), #30141a);--line: color-mix(in srgb, #e7e5df calc((1 - var(--theme-t)) * 100%), #26272c);--radius: 14px;--radius-lg: 20px;--radius-hero: 28px;--radius-pill: 999px;--radius-badge: 10px;--shadow: none;--shadow-cta: 0 8px 20px rgba(255, 56, 92, .3);--shadow-fab: 0 10px 24px rgba(255, 56, 92, .4);--font-display: "Sora Variable", "Sora", -apple-system, "Segoe UI", sans-serif;--font-text: "IBM Plex Sans", -apple-system, "Segoe UI", sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px);--page-gutter: 20px;--page-gap: var(--space-4);--nav-height: 64px;--fab-size: 56px;--fab-clearance: calc( var(--nav-height) + var(--fab-size) + var(--space-4) + var(--safe-bottom) );--page-pad-bottom: var(--space-6);--page-pad-bottom-fab: var(--fab-clearance);--data-mix: calc(100% - var(--theme-t) * 15%)}*{box-sizing:border-box}html{height:100%;overflow:hidden}app-root{display:block;height:100%}body{margin:0;height:100%;overflow:hidden;background:var(--paper);color:var(--ink);font-family:var(--font-text);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}h1,h2,h3{font-family:var(--font-display);font-weight:800;letter-spacing:-.02em;margin:0}button{font-family:var(--font-text)}input,select,textarea{font-family:var(--font-text);font-size:16px}a{color:var(--accent)}.amount{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.page{display:flex;flex-direction:column;gap:var(--page-gap);padding:calc(var(--space-5) + var(--safe-top)) var(--page-gutter) var(--page-pad-bottom);width:100%;box-sizing:border-box}.frame.has-header .page{padding-top:var(--space-4)}.frame.has-fab .page,.frame.has-fab .dash{padding-bottom:var(--page-pad-bottom-fab)}.page-title{font-size:26px}@media(min-width:768px){.page{width:100%;max-width:1200px;margin:0 auto;padding:40px 48px 64px;gap:var(--space-6)}.frame.has-header .page,.frame.has-fab .page,.frame.has-fab .dash{padding-top:40px;padding-bottom:64px}.page-title{font-size:32px;padding-left:0}}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--radius);padding:13px 18px;font-size:16px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s ease}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:active{background:var(--accent-deep)}@media(hover:hover){.btn-primary:hover:not(:disabled){background:var(--accent-deep)}.btn-ghost:hover{background:var(--accent-pale)}}.btn-primary:disabled{background:var(--line);color:var(--ink-faint);cursor:default}.btn-ghost{background:transparent;color:var(--accent);border-color:var(--line)}.btn-block{width:100%}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:3px;padding:3px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.seg button{padding:9px 0;border:none;border-radius:calc(var(--radius) - 4px);background:none;font-size:15px;font-weight:600;color:var(--ink-soft);cursor:pointer}.seg button.on{background:var(--accent);color:var(--on-accent)}.field{display:flex;flex-direction:column;gap:6px}.field>label{font-size:13px;font-weight:600;color:var(--ink-soft)}.input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink)}.input:focus{outline:none;border-color:var(--accent)}.notice{padding:12px 16px;border-radius:var(--radius);background:var(--amber-pale);color:var(--ink);font-size:14px;border:1px solid color-mix(in srgb,var(--amber) 35%,transparent)}.skeleton{border-radius:var(--radius);background:var(--line);animation:skeleton-pulse 1.6s ease-in-out infinite}.skeleton-row{height:44px;margin:10px 0}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.55}}.empty{padding:var(--space-6) var(--space-5);text-align:center;display:flex;flex-direction:column;gap:var(--space-3);align-items:center}.empty h3{font-size:21px}.empty p{margin:0;color:var(--ink-soft);font-size:15px;max-width:30ch}:root[data-theme=light]{--theme-t: 0}:root[data-theme=dark]{--theme-t: 1}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--theme-t: 1}}.app-logo{display:block;object-fit:contain}.app-logo-dark{display:none}:root[data-theme=dark] .app-logo-light{display:none}:root[data-theme=dark] .app-logo-dark{display:block}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .app-logo-light{display:none}:root:not([data-theme=light]) .app-logo-dark{display:block}}
