:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#202535;background:#f5f6f8;font-synthesis:none;--bg:#f5f6f8;--surface:#fff;--text:#202535;--muted:#687283;--line:#edf0f4;--blue:#275aee;--blue-soft:#eef3ff;--green:#239671;--shadow:0 4px 24px #24345303;--radius:22px;color-scheme:light}:root[data-theme=dark]{--bg:#11151e;--surface:#1a202c;--text:#f0f2f8;--muted:#929bab;--line:#2b3341;--blue:#7396ff;--blue-soft:#253352;--green:#64d7b0;--shadow:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0;background:none}button:disabled{cursor:wait;opacity:.55}a{color:inherit}h1,h2,h3,p{margin:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #7aa5ff;outline-offset:3px}button{touch-action:manipulation}button:active:not(:disabled){transform:translateY(1px)}strong,h1,h2,input{font-variant-numeric:tabular-nums}svg{flex-shrink:0}.app-shell{max-width:1072px;margin:auto;padding:0 32px}.topbar{height:99px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;text-decoration:none;font-size:26px;font-weight:700;letter-spacing:-1.1px;gap:10px}.brand-period{color:var(--blue);margin-left:-10px}.brand-mark{background:var(--blue);color:#fff;width:33px;height:33px;border-radius:11px;font-size:35px;line-height:28px;display:flex;justify-content:center;align-items:center;position:relative;font-weight:550;padding-bottom:4px;letter-spacing:-3px;padding-right:2px}.brand-mark span{position:absolute;background:#bfd2ff;width:5px;height:5px;border-radius:100%;right:8px;top:8px}.topbar-right{display:flex;align-items:center;gap:22px}.desktop-label{font-size:13px;color:var(--muted)}.icon-button{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--surface)}.theme-button{border:1px solid var(--line)}main{padding:34px 0 25px}.page-intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.page-intro p{font-size:13px;color:var(--muted);margin-bottom:7px}.page-intro h2{font-size:21px;font-weight:550;letter-spacing:-.45px}.preview-label{font-size:11px;letter-spacing:.3px;border:1px solid var(--line);padding:6px 9px;border-radius:20px;color:var(--muted)}.home-grid{display:grid;grid-template-columns:minmax(0,1.66fr) minmax(0,1fr);gap:20px}.surface{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.capital-panel{padding:29px 30px 0}.eyebrow{font-size:13px;color:var(--muted);font-weight:500;letter-spacing:.1px}.capital-number{font-size:48px;line-height:1.25;letter-spacing:-2.2px;font-weight:600;white-space:nowrap;margin-top:8px}.growth{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--green);margin-top:6px;font-weight:500}.growth span{color:var(--muted);font-weight:400;margin-left:3px}.goal-caption{display:flex;justify-content:space-between;width:100%;gap:8px;margin-top:29px!important;text-align:left}.text-button{font-size:13px;color:var(--muted);display:inline-flex;align-items:center;gap:4px;padding:0;min-height:28px}.goal-caption span{color:var(--text);font-size:14px}.goal-progress{margin-top:11px}.progress-heading{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;color:var(--muted);margin-bottom:13px}.progress-heading strong{font-size:24px;line-height:1;color:var(--blue);font-weight:600;letter-spacing:-.7px}.track{height:10px;background:var(--line);border-radius:20px;overflow:hidden;position:relative}.track>span{position:absolute;height:100%;background:var(--blue);border-radius:20px;transition:width .5s cubic-bezier(.2,.7,.2,1)}.track i{height:100%;width:3px;background:var(--surface);position:absolute;top:0}.milestones{display:flex;justify-content:space-between;margin-top:12px}.milestones>div{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:12px}.milestones small{font-size:12px}.milestones>div>span{display:grid;place-items:center;width:17px;height:17px;border:1px solid var(--line);border-radius:50%}.milestones b{width:3px;height:3px;background:var(--muted);border-radius:10px}.milestones .reached{color:var(--blue)}.milestones .reached>span{border-color:var(--blue);background:var(--blue);color:#fff}.capital-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:32px;padding:24px 0;border-top:1px solid var(--line)}.capital-breakdown>button,.capital-breakdown>div{display:flex;flex-direction:column;align-items:start;text-align:left;padding:0;min-width:0}.capital-breakdown span{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.legend-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.legend-dot.blue{background:var(--blue)}.legend-dot.neutral{background:#b9c4df}.capital-breakdown strong{font-size:23px;font-weight:550;letter-spacing:-.7px;margin-top:8px}.capital-breakdown small{font-size:11px;color:var(--muted);margin-top:5px}.expected-row{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:20px 0}.expected-row div{display:flex;flex-direction:column;gap:5px}.expected-row span{font-size:13px}.expected-row small{font-size:11px;color:var(--muted)}.expected-row strong{color:var(--green);font-size:17px;font-weight:550;white-space:nowrap}.home-aside{display:flex;flex-direction:column;gap:20px}.waiting-panel{background:var(--blue-soft);border:1px solid transparent;border-radius:var(--radius);padding:25px 26px}.waiting-icon{width:38px;height:38px;background:var(--surface);border-radius:12px;color:var(--blue);display:grid;place-items:center;margin-bottom:17px}.waiting-panel>span{font-size:13px;color:var(--blue)}.waiting-panel h2{font-size:32px;font-weight:550;letter-spacing:-1px;margin-top:7px}.waiting-panel p{font-size:13px;color:var(--muted);line-height:1.65;margin-top:10px}.primary{background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:12px;min-height:46px;padding:12px 19px;font-size:14px;font-weight:500}.waiting-panel .primary{width:100%;justify-content:space-between;margin-top:22px}.goal-stats{display:grid;grid-template-columns:1.1fr 1fr;padding:21px 23px;gap:15px;flex:1}.goal-stats>div{display:flex;flex-direction:column;gap:9px}.goal-stats span{font-size:12px;color:var(--muted)}.goal-stats strong{font-size:22px;letter-spacing:-.7px;font-weight:550}.goal-stats small{font-size:11px;color:var(--muted);font-weight:400;letter-spacing:0}.goal-stats strong small{font-size:15px;color:var(--text)}.trajectory-panel{grid-column:1/-1;display:flex;align-items:center;gap:14px;padding:21px 25px}.trajectory-icon{width:43px;height:43px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;border-radius:13px}.trajectory-panel h3{font-size:15px;font-weight:550;margin-bottom:5px}.trajectory-panel p{font-size:13px;color:var(--muted)}.trajectory-panel .icon-button{margin-left:auto;background:var(--bg);width:35px;height:35px}.nearest-section{grid-column:1/-1;margin-top:5px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 3px 14px}.section-heading h2{font-size:16px;font-weight:550;letter-spacing:-.2px}.nearest-card{width:100%;display:flex;align-items:center;text-align:left;gap:15px;padding:22px 24px}.bank-logo{background:#fff;display:grid;place-items:center;flex-shrink:0;border-radius:14px;width:46px;height:46px;border:1px solid #f0f1f3;overflow:hidden}.bank-logo img{object-fit:contain;max-width:32px;max-height:32px}.bank-sber img{width:36px;height:36px;max-width:36px;max-height:36px}.bank-yandex img{width:29px;height:29px}.nearest-main{display:flex;flex-direction:column;gap:7px}.nearest-main strong{font-size:14px;font-weight:550}.nearest-main span{font-size:13px;color:var(--muted)}.nearest-main b{font-weight:400;margin:0 3px}.nearest-date{margin-left:auto;display:flex;flex-direction:column;align-items:end;gap:7px}.nearest-date strong{font-size:14px;font-weight:500}.nearest-date span{font-size:12px;color:var(--muted)}.nearest-card>svg{color:var(--muted);margin-left:7px}.bottom-nav{position:sticky;bottom:20px;z-index:5;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:8px;max-width:384px;margin:18px auto 0;display:grid;grid-template-columns:repeat(3,1fr);box-shadow:0 8px 40px #101c3d09}.bottom-nav button{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);min-height:46px;border-radius:12px;font-size:13px}.bottom-nav .active{color:var(--blue);background:var(--blue-soft);font-weight:550}.app-footer{text-align:center;color:var(--muted);font-size:11px;padding:20px 0 24px}.loading-state{min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:var(--muted);font-size:14px}.spin{animation:spin 1.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-state{padding:36px;display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}.error-state h1{font-size:24px}.error-state p{font-size:14px;color:var(--muted)}.create-goal-button{display:flex;align-items:center;gap:10px;color:var(--blue);background:var(--blue-soft);padding:17px;border-radius:12px;margin-top:26px;width:100%;font-size:14px}.create-goal-button svg:last-child{margin-left:auto}.empty-inline{padding:30px;display:flex;width:100%;justify-content:center;align-items:center;gap:10px;color:var(--blue);font-size:14px}@media(max-width:760px){.app-shell{max-width:540px;padding:0 20px}.topbar{height:78px}.brand{font-size:24px}.desktop-label{display:none}main{padding:23px 0 10px}.page-intro{margin-bottom:19px}.page-intro p{display:none}.page-intro h2{font-size:16px;font-weight:500;letter-spacing:-.2px}.preview-label{font-size:10px;padding:5px 8px}.home-grid{grid-template-columns:1fr;gap:16px}.capital-panel{padding:25px 23px 0}.capital-number{font-size:43px;letter-spacing:-1.8px;margin-top:9px}.goal-caption{margin-top:26px!important}.capital-breakdown{margin-top:24px;gap:12px;padding:23px 0}.capital-breakdown strong{font-size:21px}.capital-breakdown small{font-size:11px}.capital-breakdown span{font-size:12px;gap:5px}.expected-row{padding:20px 0;flex-wrap:wrap}.expected-row strong{font-size:17px}.expected-row small{font-size:11px}.home-aside{gap:16px}.waiting-panel{padding:22px 23px;display:grid;grid-template-columns:1fr auto;position:relative}.waiting-icon{position:absolute;right:23px;top:24px;background:#ffffff80;width:35px;height:35px}.waiting-panel>span,.waiting-panel h2,.waiting-panel p{grid-column:1}.waiting-panel h2{font-size:29px}.waiting-panel p{font-size:12px;line-height:1.55;margin-top:9px}.waiting-panel p br{display:none}.waiting-panel .primary{grid-column:1/-1;margin-top:19px;min-height:43px}.goal-stats{padding:21px 23px;gap:12px;grid-template-columns:1.2fr 1fr}.goal-stats strong{font-size:24px}.goal-stats>div{gap:9px}.trajectory-panel{padding:19px 20px;gap:12px}.trajectory-panel h3{font-size:14px}.trajectory-panel p{font-size:12px;line-height:1.45}.trajectory-icon{width:36px;height:36px;border-radius:11px}.trajectory-panel .icon-button{width:28px;height:28px;flex-shrink:0}.nearest-section{margin-top:6px}.nearest-card{padding:20px 18px;gap:11px}.nearest-card>svg{display:none}.nearest-main strong,.nearest-date strong{font-size:13px}.nearest-main span,.nearest-date span{font-size:11px}.bank-logo{width:41px;height:41px;border-radius:12px}.bank-logo img{width:28px;height:28px}.section-heading h2{font-size:15px}.text-button{font-size:12px}.bottom-nav{position:sticky;bottom:max(12px,env(safe-area-inset-bottom));margin-top:25px;max-width:380px;border-radius:19px;padding:6px;box-shadow:0 6px 32px #14244d12}.bottom-nav button{flex-direction:column;gap:5px;min-height:52px;font-size:11px}.app-footer{padding-bottom:calc(15px + env(safe-area-inset-bottom));font-size:10px}}@media(max-width:360px){.app-shell{padding:0 12px}.capital-panel{padding:23px 18px 0}.capital-number{font-size:37px}.capital-breakdown strong{font-size:19px}.goal-caption span{font-size:13px}.nearest-main span{font-size:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.positive{color:var(--green)!important}.full-width{width:100%}.secondary{border:1px solid var(--line);background:var(--surface);border-radius:12px;min-height:46px;padding:11px 18px;font-size:14px;margin-top:10px}.deposits-toolbar{display:flex;justify-content:space-between;gap:15px;margin-bottom:20px}.segmented{display:flex;background:var(--line);padding:4px;border-radius:12px;gap:4px}.segmented button{padding:10px 16px;font-size:14px;color:var(--muted);border-radius:9px;min-height:40px}.segmented .selected{background:var(--surface);color:var(--text);box-shadow:0 1px 6px #00000004}.add-deposit{min-width:112px}.list-meta{display:flex;justify-content:space-between;align-items:center;margin:0 3px 18px;font-size:13px;color:var(--muted);gap:10px}.sort-select{display:flex;align-items:center;gap:6px;position:relative}.sort-select select{appearance:none;border:0;background:transparent;color:var(--text);font-size:13px;max-width:240px;padding:8px 0;cursor:pointer;outline-offset:0}.sort-select option{background:var(--surface);color:var(--text)}.deposit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.deposit-card{padding:25px;text-align:left;transition:box-shadow .2s,transform .2s;min-width:0}.deposit-card:hover{box-shadow:0 8px 28px #2340810a}.deposit-card-header{display:flex;align-items:center;gap:12px}.deposit-card-header>div{display:flex;flex-direction:column;gap:4px;min-width:0}.deposit-card-header strong{font-size:15px;font-weight:550}.deposit-card-header small{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rate-badge{margin-left:auto;background:var(--blue-soft);color:var(--blue);padding:7px 10px;border-radius:9px;font-size:13px;font-weight:550;white-space:nowrap}.deposit-amount{font-size:33px;letter-spacing:-1.2px;font-weight:550;margin-top:23px}.deposit-dates{margin-top:13px;display:flex;flex-direction:column;gap:8px;font-size:14px}.date-arrow{color:var(--muted);margin:0 10px}.deposit-dates small{font-size:12px;color:var(--muted)}.deposit-income{padding:20px 0;margin-top:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:12px}.deposit-income>div{display:flex;justify-content:space-between;gap:12px;font-size:14px}.deposit-income span{color:var(--muted);font-size:13px}.deposit-income strong{font-weight:550}.deposit-income>div:first-child strong{color:var(--green)}.deposit-income i{color:var(--blue);font-style:normal}.term-label{margin-top:19px;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.term-label span{display:flex;align-items:center;gap:5px}.term-track{height:5px;background:var(--line);border-radius:10px;margin-top:11px;overflow:hidden}.term-track span{background:#92abef;display:block;height:100%;border-radius:10px}.deposit-card.ending{border-color:#cdd9fa}.ending .term-label{color:var(--blue)}.ending .term-track span{background:var(--blue)}.settled-badge{display:flex;align-items:center;gap:4px;color:var(--green);margin-left:auto;font-size:12px}.settled-caption{font-size:12px;line-height:1.6;color:var(--muted);margin-top:15px}.empty-state{display:flex;align-items:center;flex-direction:column;text-align:center;gap:20px;padding:65px 25px}.empty-icon{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;color:var(--blue);background:var(--blue-soft)}.empty-state h1,.empty-state h2{font-size:24px;font-weight:550;letter-spacing:-.5px}.empty-state p{color:var(--muted);font-size:15px;line-height:1.7;max-width:360px}.modal{padding:0;border:1px solid var(--line);border-radius:25px;width:min(100% - 32px,510px);max-height:calc(100dvh - 48px);background:var(--surface);color:var(--text);overscroll-behavior:contain;box-shadow:0 25px 100px #12244020}.modal::backdrop{background:#121c2f61}.modal-content{padding:25px 28px 28px}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:25px}.modal-header h2{font-size:23px;letter-spacing:-.6px;font-weight:550}.modal-header .icon-button{background:var(--bg);width:35px;height:35px}.finance-form{display:flex;flex-direction:column;gap:20px}.form-field{display:flex;flex-direction:column;gap:9px;font-size:14px;font-weight:500;min-width:0}.form-field>small{display:inline;color:var(--muted);font-weight:400;font-size:12px;margin-top:-5px}.form-field input,.input-with-suffix{min-height:49px;background:var(--bg);border:1px solid var(--line);border-radius:11px;width:100%;color:var(--text)}.form-field input{padding:13px 14px;font-size:16px;min-width:0}.form-field input::placeholder{color:var(--muted);opacity:.65}.input-with-suffix{display:flex;align-items:center;gap:8px;padding-right:16px}.input-with-suffix input{border:0;outline-offset:0;background:none;min-width:0}.input-with-suffix>span{color:var(--muted)}.amount-field input{font-size:25px;padding:15px;font-weight:500;letter-spacing:-.6px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field-row input[type=date]{padding:12px 9px;font-size:14px;min-height:48px}.period-hint{margin-top:-10px;color:var(--muted);font-size:12px}.bank-picker{border:1px solid var(--line);border-radius:13px}.bank-picker summary{display:flex;align-items:center;list-style:none;padding:10px 12px;gap:12px;cursor:pointer}.bank-picker summary::-webkit-details-marker{display:none}.bank-picker summary strong{font-size:15px;font-weight:500}.bank-picker summary>svg{margin-left:auto;color:var(--muted)}.bank-picker .bank-logo{width:34px;height:34px;border-radius:10px}.bank-picker img{width:26px;height:26px}.bank-options{padding:6px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:4px}.bank-options button{display:flex;gap:8px;align-items:center;text-align:left;border-radius:10px;padding:8px 5px;font-size:12px;min-width:0}.bank-options .selected{background:var(--blue-soft);color:var(--blue)}.bank-options button>svg{margin-left:auto}.bank-options button span:not(.bank-logo){flex:1}.bank-options .bank-logo{width:29px;height:29px}.bank-options img{width:23px;height:23px}.interest-preview{background:var(--blue-soft);border-radius:15px;padding:19px 20px}.interest-title{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px}.interest-title .text-button{font-size:12px;color:var(--blue);min-height:30px}.interest-number{font-size:25px;font-weight:550;letter-spacing:-.6px;display:block;margin-top:9px;color:var(--blue)}.interest-preview .input-with-suffix{margin-top:10px;background:var(--surface)}.interest-preview input{font-size:24px;width:100%;padding:10px 12px;color:var(--blue)}.interest-preview .payout-row{margin-top:18px;display:flex;align-items:center;justify-content:space-between;font-size:14px;gap:8px}.payout-row strong{font-weight:550}.interest-preview>p{font-size:12px;line-height:1.5;color:var(--muted);margin-top:12px}.manual-badge{font-size:11px;color:var(--blue);display:block;margin-top:8px}.funding{margin:0;padding:0;border:0;display:flex;flex-direction:column;gap:15px}.funding legend{font-size:16px;font-weight:550;margin-bottom:15px}.funding-options{display:flex;gap:8px}.funding-options button{border:1px solid var(--line);padding:11px 12px;border-radius:10px;font-size:13px;display:flex;align-items:center;justify-content:center;gap:6px;flex:1}.funding-options .selected{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}.funding-available{font-size:12px;color:var(--muted)}.funding-total{display:flex;justify-content:space-between;font-size:14px;gap:10px}.form-note{font-size:13px;line-height:1.6;color:var(--muted)}.new-money-note{display:flex;gap:9px;align-items:start;border-radius:12px;background:var(--bg);padding:15px;font-size:13px;line-height:1.6;color:var(--muted)}.new-money-note>svg{margin-top:2px;color:var(--blue)}.form-actions{padding-top:5px}.form-actions .primary{width:100%;justify-content:space-between}.form-error{background:#fff0ef;color:#b83939;border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.6}.form-divider{height:1px;background:var(--line);margin:2px 0}.form-subheading{font-size:16px;font-weight:550;margin-bottom:-12px}.detail-bank{display:flex;align-items:center;gap:12px}.detail-bank>div{display:flex;flex-direction:column;gap:5px}.detail-bank strong{font-size:16px;font-weight:550}.detail-bank span:not(.bank-logo):not(.rate-badge){font-size:12px;color:var(--muted)}.detail-principal{font-size:35px;font-weight:550;letter-spacing:-1px;margin:26px 0}.detail-rows{display:flex;flex-direction:column;gap:19px;margin-bottom:30px}.detail-rows>div{display:flex;justify-content:space-between;gap:15px;font-size:14px}.detail-rows span{color:var(--muted)}.detail-rows strong{font-weight:500;text-align:right}.detail-rows .emphasized{border-top:1px solid var(--line);padding-top:21px;font-size:17px}.detail-hint{color:var(--muted);font-size:12px;line-height:1.5;margin-top:-10px}.danger-text{font-size:12px;color:var(--muted);display:block;min-height:42px;margin:10px auto 0}.danger-button{background:#ae4141;color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:12px;min-height:46px;font-size:14px}.explanation{display:flex;align-items:start;gap:12px;background:var(--bg);padding:16px;border-radius:13px;font-size:13px;color:var(--muted);line-height:1.65}.explanation svg{color:var(--blue);margin-top:3px}.result-change{padding:18px;border-radius:12px;background:var(--blue-soft);display:flex;flex-direction:column;gap:10px;font-size:13px}.result-change strong{font-size:26px;font-weight:550}.toast{position:fixed;left:50%;bottom:105px;transform:translate(-50%);z-index:20;background:var(--text);color:var(--surface);padding:14px 18px;border-radius:14px;display:flex;align-items:center;gap:10px;font-size:13px;box-shadow:0 8px 30px #0002;max-width:calc(100% - 30px);width:max-content}.goal-page{display:grid;grid-template-columns:1fr 1fr;gap:20px}.goal-hero{padding:27px 30px}.goal-hero-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.goal-icon{width:45px;height:45px;border-radius:14px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center}.goal-hero h1{font-size:25px;line-height:1.3;letter-spacing:-.6px;font-weight:550;margin-top:10px;max-width:340px}.goal-total{font-size:37px;letter-spacing:-1.2px;margin-top:23px;font-weight:550}.goal-deadline{font-size:13px;color:var(--muted);margin-top:7px}.goal-hero .goal-progress{margin-top:28px}.chart-panel{padding:27px 25px;display:flex;flex-direction:column;justify-content:space-between}.quiet-label{font-size:12px;color:var(--muted)}.chart-legend{display:flex;gap:17px;margin:25px 0 5px;font-size:12px;color:var(--muted)}.chart-legend>span{display:flex;align-items:center;gap:6px}.legend-line{width:15px;border-top:2px dashed #aeb7c8}.chart-wrap svg{width:100%;display:block;overflow:visible;margin-top:15px}.chart-wrap text{fill:var(--muted);font-size:24px}.chart-grid{stroke:var(--line);stroke-width:1}.chart-plan{stroke:#aab5ca;stroke-width:2;stroke-dasharray:5 5;fill:none}.chart-actual{stroke:var(--blue);stroke-width:3;fill:none;stroke-linejoin:round}.chart-point{fill:var(--blue)}.chart-halo{fill:var(--blue);opacity:.12}.chart-baseline{fill:#aab5ca}.chart-correction{fill:var(--surface);stroke:var(--blue);stroke-width:2}.chart-dates{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:-5px;padding-right:38px}.chart-summary{display:grid;grid-template-columns:1fr 1fr;margin-top:24px;padding-top:21px;border-top:1px solid var(--line);gap:16px}.chart-summary>div{display:flex;flex-direction:column;gap:7px}.chart-summary span{font-size:12px;color:var(--muted)}.chart-summary strong{font-size:22px;font-weight:550;letter-spacing:-.6px}.chart-summary small{font-size:11px;color:var(--muted)}.goal-metrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);padding:24px;gap:20px}.goal-metrics>div{display:flex;flex-direction:column;gap:10px}.goal-metrics span{font-size:12px;color:var(--muted)}.goal-metrics strong{font-size:20px;font-weight:550;letter-spacing:-.4px}.information-note{grid-column:1/-1;display:flex;gap:10px;color:var(--muted);background:var(--blue-soft);padding:17px 20px;border-radius:14px;font-size:13px;line-height:1.6}.information-note svg{color:var(--blue);margin-top:2px}.origin-summary{grid-column:1/-1;padding:25px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.origin-summary>div{display:flex;flex-direction:column;gap:10px}.origin-summary span{font-size:13px;color:var(--muted)}.origin-summary strong{font-size:23px;letter-spacing:-.5px;font-weight:550}.origin-summary p{grid-column:1/-1;font-size:12px;color:var(--muted);line-height:1.6;max-width:630px}.history-section{grid-column:1/-1;margin-top:10px}.history-list{padding:0 23px}.history-item{display:flex;align-items:center;gap:14px;padding:22px 0;border-bottom:1px solid var(--line)}.history-item:last-child{border-bottom:0}.history-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);flex-shrink:0}.history-icon.correction{background:var(--bg);color:var(--muted)}.history-item>div{min-width:0}.history-item strong{font-size:14px;font-weight:500}.history-item p{font-size:12px;color:var(--muted);line-height:1.5;margin:5px 0}.history-item small{font-size:11px;color:var(--muted)}.history-amount{margin-left:auto;white-space:nowrap;text-align:right;font-size:15px;font-weight:500;display:flex;flex-direction:column;gap:7px}.history-amount small{font-weight:400}@media(max-width:760px){.deposit-grid,.goal-page{grid-template-columns:1fr;gap:16px}.deposits-toolbar{gap:10px}.segmented{padding:3px;gap:2px}.segmented button{padding:9px 12px;font-size:13px;min-height:39px}.add-deposit{min-width:90px;padding:10px 13px;font-size:13px;gap:5px}.list-meta{font-size:12px;margin-bottom:16px}.sort-select{gap:4px}.sort-select select{max-width:195px;font-size:12px}.deposit-card{padding:22px}.deposit-card-header strong{font-size:14px}.deposit-amount{font-size:32px}.deposit-income strong{font-size:14px}.deposit-income span{font-size:12px}.deposit-dates{font-size:13px}.goal-hero{padding:24px}.goal-hero h1{font-size:25px}.goal-total{font-size:35px}.chart-panel{padding:23px}.goal-metrics{grid-template-columns:1fr 1fr;padding:23px;gap:25px 17px}.goal-metrics strong{font-size:21px}.origin-summary{padding:23px;gap:17px}.origin-summary strong{font-size:20px}.origin-summary span{font-size:12px}.history-list{padding:0 18px}.history-item{gap:10px;padding:19px 0;align-items:start}.history-item strong{font-size:13px}.history-item p{font-size:11px}.history-item small{font-size:10px}.history-amount{font-size:13px;padding-top:2px}.history-icon{width:32px;height:32px;border-radius:10px}.history-item>div{flex:1}.history-amount small{font-size:10px}.modal{width:100%;max-width:510px;max-height:calc(100dvh - 18px);margin:auto auto 0;border-radius:23px 23px 0 0;border-bottom:0}.modal-content{padding:24px 22px calc(25px + env(safe-area-inset-bottom))}.modal-header{margin-bottom:23px}.modal-header h2{font-size:22px}.finance-form{gap:19px}.interest-preview{padding:18px}.funding-options button{font-size:12px}.chart-dates{font-size:10px}.chart-summary strong{font-size:21px}.bank-options button{font-size:12px}.detail-principal{font-size:33px}.detail-rows>div{font-size:13px}.form-field input[type=date]{max-width:100%}.empty-state{padding:50px 24px}.empty-state h1,.empty-state h2{font-size:23px}.empty-state p,.empty-state .primary{font-size:14px}}@media(max-width:360px){.segmented button{padding:9px 10px;font-size:12px}.add-deposit{min-width:75px;padding:9px}.sort-select select{max-width:172px}.modal-content{padding-left:18px;padding-right:18px}.field-row{gap:8px}.field-row input[type=date]{font-size:13px;padding:11px 6px}.history-list{padding:0 14px}.history-amount{font-size:12px}.goal-metrics strong{font-size:19px}}:root{--nav-height:68px;--app-safe-top:env(safe-area-inset-top,0px);--app-safe-bottom:env(safe-area-inset-bottom,0px);--app-safe-left:env(safe-area-inset-left,0px);--app-safe-right:env(safe-area-inset-right,0px)}html{scroll-padding-bottom:calc(var(--nav-height) + var(--app-safe-bottom) + 32px)}.app-shell{min-height:var(--app-stable-height,100dvh);padding-top:var(--app-safe-top);padding-bottom:calc(var(--nav-height) + var(--app-safe-bottom) + 32px)}.bottom-nav{position:fixed;left:50%;transform:translate(-50%);bottom:calc(12px + var(--app-safe-bottom));width:calc(100% - 40px - var(--app-safe-left) - var(--app-safe-right));max-width:384px;margin:0;min-height:64px}html[data-keyboard=open] .bottom-nav{visibility:hidden;pointer-events:none}body:has(dialog[open]){overflow:hidden}.modal{max-height:calc(var(--app-visible-height,100dvh) - var(--app-safe-top) - var(--app-safe-bottom) - 24px);overscroll-behavior-y:contain;scroll-padding:76px 0 24px}.modal-header{position:sticky;top:0;z-index:2;background:var(--surface);padding:8px 0}.modal-header .icon-button,.icon-button{min-width:44px;min-height:44px}.form-field input{scroll-margin:84px 0 24px}.text-button,.sort-select select,.segmented button,.danger-text{min-height:44px}.capital-adjustment{border-top:1px solid var(--line);padding:17px 0;font-size:13px}.capital-adjustment>div{display:flex;justify-content:space-between;gap:12px}.capital-adjustment p{color:var(--muted);font-size:12px;line-height:1.6;margin-top:8px}:root[data-theme=dark] .primary{color:#101828}@media(max-width:760px){.app-shell{padding-left:calc(20px + var(--app-safe-left));padding-right:calc(20px + var(--app-safe-right))}.modal{position:fixed;top:auto;bottom:calc(var(--app-keyboard-offset,0px) + var(--app-safe-bottom));margin:0 auto;max-width:510px;width:calc(100% - var(--app-safe-left) - var(--app-safe-right));border-radius:23px 23px 0 0}.modal-content{padding-bottom:28px}.field-row input[type=date]{font-size:16px}.modal-header{margin-top:-8px}}@media(max-width:360px){.app-shell{padding-left:calc(12px + var(--app-safe-left));padding-right:calc(12px + var(--app-safe-right))}.bottom-nav{width:calc(100% - 24px - var(--app-safe-left) - var(--app-safe-right))}.field-row{grid-template-columns:1fr}}.telegram-launch{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
