:root{color:#171717;font-synthesis:none;text-rendering:optimizelegibility;background:#f7f7f8;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:#f7f7f8;margin:0}button{font:inherit}.bottom-nav{z-index:60;width:min(100%,520px);height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(18px);background:#ffffffd1;border-top:1px solid #fff9;grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -8px 30px #5b46a01f}.bottom-nav-item{color:#9c9ca8;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:100%;height:64px;padding:0;transition:color .15s,transform .15s;display:flex;position:relative}.bottom-nav-item svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:23px;height:23px;transition:transform .15s}.bottom-nav-item.active{color:#7c3aed}.bottom-nav-item.active svg{transform:translateY(-1px)}.bottom-nav-item.active:after{content:"";background:linear-gradient(90deg,#ec4899,#7c3aed);border-radius:3px;width:20px;height:3px;position:absolute;bottom:5px}.bottom-nav-item:active{transform:scale(.92)}@media (width>=600px){.bottom-nav{border-radius:18px 18px 0 0}}*{box-sizing:border-box}html{overscroll-behavior:none;height:100%}#root{overscroll-behavior-y:none;-webkit-overflow-scrolling:touch;height:100%;margin:0;overflow-y:auto}body{color:#171717;overscroll-behavior:none;background:#fff;height:100%;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.app{min-height:100vh}.eyebrow{color:#8b8b94;letter-spacing:.16em;text-transform:uppercase;margin:0 0 5px;font-size:11px;font-weight:700}.goals-page,.habit-details-page,.settings-page,.add-habit-page{overscroll-behavior-y:none}@keyframes page-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}input,select,textarea{font-size:16px}.goals-page,.settings-page,.add-habit-page,.habit-details-page,.auth-page{animation:.28s page-fade-in}.app-loading{z-index:1;justify-content:center;align-items:center;min-height:100dvh;display:flex;position:relative}.app-loading-spinner{border:3px solid #7c3aed26;border-top-color:#7c3aed;border-radius:50%;width:34px;height:34px;animation:.7s linear infinite app-loading-spin}@keyframes app-loading-spin{to{transform:rotate(360deg)}}.goals-page{z-index:0;width:min(100%,520px);min-height:100vh;padding:0 0 calc(96px + env(safe-area-inset-bottom));box-sizing:border-box;color:#171717;background:0 0;margin:0 auto;position:relative}.habits-section{padding:24px 18px 0;position:relative}.section-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.section-header>div{align-items:center;gap:8px;display:flex}.section-title{font-size:18px;font-weight:700}.section-count{color:#777780;background:#e9e9ec;border-radius:20px;place-items:center;min-width:24px;height:24px;padding:0 7px;font-size:12px;font-weight:700;display:grid}.more-button{color:#8a8a92;cursor:pointer;letter-spacing:2px;background:0 0;border:0}.habits-list{flex-direction:column;gap:12px;display:flex}.add-habit-button{right:max(18px,50vw - 242px);bottom:calc(80px + env(safe-area-inset-bottom));width:48px;height:px;color:#fff;cursor:pointer;z-index:60;background:linear-gradient(135deg,#9333ea,#7c3aed);border:0;border-radius:18px;justify-content:center;align-items:center;font-size:30px;font-weight:300;line-height:1;display:flex;position:fixed;box-shadow:0 12px 30px #7c3aed66}.add-habit-button span{justify-content:center;align-items:center;width:100%;height:100%;display:flex;transform:translateY(-1px)}@media (width>=600px){.habits-section{padding-top:32px}}.habit-card-swipe{border-radius:20px;position:relative;overflow:hidden}.habit-card-wrapper{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.habit-card-actions{width:144px;display:flex;position:absolute;inset:0 0 0 auto}.habit-card-action{color:#fff;cursor:pointer;border:0;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:72px;font-size:11px;font-weight:700;display:flex}.habit-card-action span{font-size:18px;line-height:1}.habit-card-action.edit{color:#475569;background:#e2e8f0d1}.habit-card-action.delete{color:#9f1239;background:#ffe4e6d1}.habit-card-action:disabled{cursor:wait;opacity:.7}.habit-card{background:linear-gradient(135deg, color-mix(in srgb, var(--habit-color,#9333ea) 10%, #ffffff8c), #ffffff6b);-webkit-backdrop-filter:blur(18px);cursor:pointer;touch-action:pan-y;will-change:transform;border:1px solid #ffffffc7;border-radius:20px;transition:transform .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 26px #4637781a}.habit-card:active{transform:scale(.99)}.habit-card.is-dragging{transition:none}.habit-color{background:var(--habit-color);flex-shrink:0;width:5px}.habit-card-content{box-sizing:border-box;width:100%;padding:18px 18px 16px}.habit-card-header{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.habit-card h2{letter-spacing:-.02em;color:#1c1c22;margin:0 0 5px;font-size:17px;line-height:1.25}.habit-card-header span{color:#737381;font-size:12px}.habit-days{grid-template-columns:repeat(7,minmax(0,1fr));width:100%;margin-top:17px;display:grid}.habit-day-column{flex-direction:column;align-items:center;min-width:0;display:flex}.habit-weekday{color:#8f8f97;text-align:center;margin-bottom:8px;font-size:10px;font-weight:500;line-height:1}.habit-date{color:#999;box-sizing:border-box;cursor:pointer;background:#f5f5f7eb;border:0;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:12px;font-weight:600;line-height:1;transition:background-color .15s,color .15s,transform .1s;display:flex}.habit-date:active{transform:scale(.94)}.habit-date.active{background:color-mix(in srgb, var(--habit-color) 18%, white 88%);color:var(--habit-color)}.habit-date.completed{background:var(--habit-color);color:#fff}.habit-date.today{border:2px solid var(--habit-color)}.habit-date.future{opacity:.7;cursor:not-allowed}.habit-date.future:active{transform:none}.habit-progress{margin-top:17px}.progress-label{color:#737381;justify-content:space-between;margin-bottom:7px;font-size:11px;display:flex}.progress-track{background:#ebebefd9;border-radius:10px;height:8px;position:relative;overflow:hidden}.progress-track:before{content:"";background-image:radial-gradient(circle, var(--habit-color) 1px, transparent 1.3px), radial-gradient(circle, var(--habit-color) 1px, transparent 1.3px);opacity:.35;-webkit-mask-image:linear-gradient(90deg, transparent 0%, transparent var(--progress,0%), black calc(var(--progress,0%) + 2%), black calc(var(--progress,0%) + 6%), transparent calc(var(--progress,0%) + 26%));-webkit-mask-image:linear-gradient(90deg, transparent 0%, transparent var(--progress,0%), black calc(var(--progress,0%) + 2%), black calc(var(--progress,0%) + 6%), transparent calc(var(--progress,0%) + 26%));mask-image:linear-gradient(90deg, transparent 0%, transparent var(--progress,0%), black calc(var(--progress,0%) + 2%), black calc(var(--progress,0%) + 6%), transparent calc(var(--progress,0%) + 26%));background-position:0 0,3px 3px;background-size:6px 6px,6px 6px;position:absolute;inset:0}.progress-fill{z-index:1;height:100%;width:var(--progress,0%);border-radius:inherit;background:var(--habit-color);transition:width .3s;position:relative;-webkit-mask-image:linear-gradient(90deg,#000 0% 88%,#0000 100%);mask-image:linear-gradient(90deg,#000 0% 88%,#0000 100%)}.habit-drag-handle{cursor:grab;touch-action:none;background:0 0;border:0;border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:3px;width:32px;height:32px;margin:0;padding:0;display:flex}.habit-drag-handle span{background:#17173547;border-radius:2px;width:16px;height:2px}.habit-drag-handle:active{cursor:grabbing;background:#1717350f}.add-habit-page{z-index:0;width:min(100%,620px);min-height:100vh;padding:20px 16px calc(50px + env(safe-area-inset-bottom));box-sizing:border-box;background:0 0;margin:0 auto;position:relative}.habit-form{box-sizing:border-box;-webkit-backdrop-filter:blur(18px);background:#ffffffb8;border:1px solid #ffffffa6;border-radius:20px;padding:18px;box-shadow:0 12px 34px #5b46a01a}.add-habit-header{grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:18px;padding:10px 4px;display:grid}.add-habit-header h1{text-align:center;letter-spacing:-.02em;color:#171735;margin:0;font-size:18px}.back-button,.done-button{cursor:pointer;border:0;border-radius:12px;padding:8px 14px;font-size:14px;font-weight:600;transition:background-color .15s,opacity .15s}.back-button{color:#4a4a58;background:#1717350f;justify-self:start}.back-button:active{background:#1717351a}.done-button{color:#fff;background:linear-gradient(135deg,#9333ea,#7c3aed);justify-self:end;box-shadow:0 6px 16px #7c3aed4d}.done-button:disabled{color:#1717354d;box-shadow:none;cursor:default;background:#17173514}.title-row{background:#ffffff8c;border:1.5px solid #17173524;border-radius:15px;height:52px;display:flex;overflow:hidden;box-shadow:inset 0 1px 3px #1717350f}.title-row input{color:#171717;background:0 0;border:0;outline:0;flex:1;min-width:0;padding:0 16px;font-size:15px}.title-row input::placeholder{color:#a3a3b0}.templates-button{color:#171717;cursor:pointer;background:#7c3aed1a;border:0;border-left:1.5px solid #1717351a;align-items:center;gap:8px;padding:0 14px;font-size:14px;display:flex}.templates-button span{font-size:18px}.color-picker{justify-content:space-between;gap:10px;padding:20px 2px;display:flex}.color-option{cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;display:flex;position:relative}.color-option.selected{outline:3px solid #fff;box-shadow:0 0 0 2px #777780}.color-option span{color:#fff;justify-content:center;align-items:center;width:100%;height:100%;font-size:16px;font-weight:700;line-height:1;display:flex}.form-divider{background:#17173514;height:1px;margin:0}.form-section{padding:20px 0}.form-section h2{color:#171735;margin:0 0 4px;font-size:16px;line-height:1.2}.form-section p{color:#6f6f82;margin:0;font-size:13px;line-height:1.4}.week-picker{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;width:100%;display:grid}.week-day{color:#4a4a58;cursor:pointer;background:#ffffff8c;border:1.5px solid #1717351f;border-radius:12px;min-width:0;height:44px;padding:0;font-size:13px;font-weight:600;transition:background-color .15s,color .15s,border-color .15s;overflow:hidden}.week-day.active{color:#fff;border-color:#0000}.form-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.form-row>div{min-width:0}.form-row select{background:#ffffff8c;border:1.5px solid #17173524;border-radius:13px;outline:0;width:140px;padding:12px 14px;font-size:14px;box-shadow:inset 0 1px 3px #1717350f}.value-button,.picker-button{box-sizing:border-box;color:#7c3aed;cursor:pointer;background:#ffffff8c;border:1.5px solid #17173524;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;width:140px;min-height:46px;padding:12px 14px;font-size:14px;font-weight:600;display:flex;box-shadow:inset 0 1px 3px #1717350f}.date-input{background:#ffffff8c;border:1.5px solid #17173524;border-radius:13px;width:140px;padding:11px 12px;font-size:13px;box-shadow:inset 0 1px 3px #1717350f}.no-date-button{cursor:pointer;background:#ffffff8c;border:1.5px solid #17173524;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;height:46px;margin-top:14px;font-size:14px;display:flex;box-shadow:inset 0 1px 3px #1717350f}.no-date-button span{font-size:18px}.toggle{cursor:pointer;background:#ffffff8c;border:1.5px solid #17173524;border-radius:30px;width:60px;height:34px;padding:0;position:relative;box-shadow:inset 0 1px 3px #1717350f}.toggle span{background:#fff;border-radius:50%;width:26px;height:26px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 5px #00000026}.toggle.on{background:#7c3aed;border-color:#0000}.toggle.on span{transform:translate(26px)}@media (width<=500px){.habit-form{padding:14px}.title-row{height:48px}.templates-button{padding:0 10px}.color-picker{gap:6px}.color-option{width:34px;height:34px}.week-picker{gap:4px}.week-day{border-radius:11px;height:40px}.form-section h2{font-size:15px}.form-section p{font-size:12px}}.calendar{padding:6px 0 4px}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.calendar-header h3{color:#171735;margin:0;font-size:16px;font-weight:750}.calendar-header button{color:#7c3aed;cursor:pointer;background:#7c3aed14;border:0;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:22px;line-height:1;display:flex}.calendar-header button:active{transform:scale(.94)}.calendar-week,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;width:100%;display:grid}.calendar-week span{color:#9999a1;text-align:center;text-transform:uppercase;font-size:11px;font-weight:600;line-height:1}.calendar-grid{margin-top:10px}.calendar-day{aspect-ratio:1;color:#33333d;cursor:pointer;background:#7c3aed0d;border:0;border-radius:11px;justify-content:center;justify-self:center;align-items:center;width:100%;max-width:40px;padding:0;font-size:14px;font-weight:600;line-height:1;transition:background-color .15s,color .15s,transform .1s;display:flex}.calendar-day:active{transform:scale(.92)}.calendar-day.selected{color:#fff;background:linear-gradient(135deg,#9333ea,#7c3aed);font-weight:700;box-shadow:0 6px 16px #7c3aed59}.picker-button{-webkit-backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #fff9;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;min-width:150px;padding:15px 18px;font-size:16px;display:flex}.category-dot{border-radius:50%;width:12px;height:12px}.sheet-overlay{z-index:100;touch-action:none;background:#00000059;align-items:flex-end;animation:.25s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.bottom-sheet{touch-action:none;background:#fff;border-radius:28px 28px 0 0;width:100%;max-height:85vh;padding:24px;overflow:hidden}.sheet-close{color:#333;background:#f4f4f5;border:1px solid #ddd;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:22px;line-height:1;display:flex}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.sheet-grabber{background:#d5d5d8;border-radius:10px;width:42px;height:5px;margin:0 auto 20px}.sheet-header h2{margin:0}.sheet-header button{background:#eeeeef;border-radius:50%;place-items:center;width:32px;height:32px;font-size:22px;display:grid}.category-item{text-align:left;background:#f4f4f5;border:0;border-radius:16px;align-items:center;gap:14px;width:100%;margin-bottom:10px;padding:16px;font-size:17px;display:flex}.create-category{color:#fff;background:#171717;border:0;border-radius:16px;width:100%;margin-top:10px;padding:16px;font-size:16px}.habit-details-page{z-index:0;width:min(100%,620px);min-height:100vh;padding:24px 20px calc(80px + env(safe-area-inset-bottom));color:#171717;background:0 0;margin:0 auto;position:relative}.habit-details-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.habit-details-title{min-width:0}.habit-details-type{color:#96969e;letter-spacing:.08em;margin-bottom:5px;font-size:11px;font-weight:500;display:block}.habit-details-title h1{color:#171717;letter-spacing:-.035em;margin:0;font-size:28px;font-weight:750;line-height:1.15}.habit-details-frequency{color:#96969e;margin-top:5px;font-size:14px;display:block}.habit-details-close{color:#77777f;cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin:0;padding:0;font-size:30px;font-weight:300;line-height:1;display:flex}.habit-details-close:active{transform:scale(.9)}.details-calendar{box-sizing:border-box;-webkit-backdrop-filter:blur(18px);background:#ffffffb8;border:1px solid #ffffffa6;border-radius:22px;width:100%;padding:20px 16px;box-shadow:0 12px 34px #5b46a01a}.details-calendar-header button{-webkit-backdrop-filter:blur(10px);color:#171717;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffffa6;border:1px solid #fff9;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;padding:0;font-size:28px;font-weight:400;line-height:1;display:flex}.details-calendar-header{grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;margin-bottom:24px;display:grid}.details-calendar-header h2{color:#171717;text-align:center;letter-spacing:-.025em;margin:0;font-size:22px;font-weight:750;line-height:1.2}.details-calendar-header button{color:#171717;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#f1f1f3;border:0;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;padding:0;font-size:28px;font-weight:400;line-height:1;display:flex}.details-calendar-header button:active{transform:scale(.94)}.details-calendar-week-header,.details-calendar-week-row{grid-template-columns:minmax(0,1fr) 42px;column-gap:10px;width:100%;display:grid}.details-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));width:100%;margin-bottom:10px;display:grid}.details-weekdays span{color:#9999a1;text-align:center;text-transform:uppercase;font-size:10px;font-weight:600;line-height:1}.details-calendar-weeks{flex-direction:column;gap:7px;width:100%;display:flex}.details-calendar-week-row{align-items:stretch;min-height:40px}.details-calendar-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;width:100%;min-width:0;display:grid}.details-calendar-empty{aspect-ratio:1;pointer-events:none;width:100%;display:block}.details-calendar-day{aspect-ratio:1;color:#55555d;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:11px;justify-content:center;justify-self:center;align-items:center;width:min(100%,40px);padding:0;font-size:13px;font-weight:600;line-height:1;transition:transform .12s,background-color .15s,color .15s,box-shadow .15s;display:flex}.details-calendar-day.planned{background:color-mix(in srgb, var(--habit-color) 11%, white);color:var(--habit-color)}.details-calendar-day.completed{background:var(--habit-color);color:#fff;box-shadow:0 5px 13px color-mix(in srgb, var(--habit-color) 27%, transparent)}.details-calendar-day.completed.planned{background:var(--habit-color);color:#fff}.details-calendar-day.today{box-shadow:inset 0 0 0 2px var(--habit-color)}.details-calendar-day.completed.today{box-shadow:0 5px 13px color-mix(in srgb, var(--habit-color) 27%, transparent), inset 0 0 0 2px white}.details-calendar-day.future{color:#c9c9ce;opacity:.55;cursor:default;background:0 0}.details-calendar-day.future.planned{color:#c9c9ce;background:0 0}.details-calendar-day:active:not(:disabled){transform:scale(.92)}.details-week-status{box-sizing:border-box;background:color-mix(in srgb, var(--habit-color) 2.5%, white);border:1px solid color-mix(in srgb, var(--habit-color) 8%, #eeeeef);color:#b9b9c0;border-radius:14px;justify-content:center;align-items:center;width:42px;min-height:40px;transition:background-color .2s,border-color .2s,box-shadow .2s;display:flex}.details-week-status.success{background:color-mix(in srgb, var(--habit-color) 3.5%, white);border-color:color-mix(in srgb, var(--habit-color) 10%, #eeeeef);color:var(--habit-color)}.details-week-status.failed{background:color-mix(in srgb, var(--habit-color) 2%, white);border-color:color-mix(in srgb, var(--habit-color) 7%, #eeeeef);color:#b9b9c0}.details-week-status.current{background:color-mix(in srgb, var(--habit-color) 4%, white);border-color:color-mix(in srgb, var(--habit-color) 13%, #eeeeef);color:color-mix(in srgb, var(--habit-color) 50%, #9d9da5)}.details-week-status.future{visibility:hidden;background:0 0;border-color:#0000}.streak-check{color:var(--habit-color);font-size:21px;font-weight:500;line-height:1;display:block}.streak-dash{color:#b9b9c0;font-size:16px;font-weight:400;line-height:1;display:block}.streak-current{color:color-mix(in srgb, var(--habit-color) 48%, #a0a0a8);font-size:17px;font-weight:500;line-height:1;display:block;transform:translateY(-1px)}.details-week-status.flame{background:color-mix(in srgb, var(--habit-color) 6%, white);border-color:color-mix(in srgb, var(--habit-color) 13%, #eeeeef);color:var(--habit-color);box-shadow:0 4px 14px color-mix(in srgb, var(--habit-color) 8%, transparent)}.streak-flame-wrap{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.streak-flame{width:22px;height:22px;color:var(--habit-color);filter:drop-shadow(0 3px 7px color-mix(in srgb, var(--habit-color) 18%, transparent));animation:1.8s ease-in-out infinite streak-flame-pulse;display:block}@keyframes streak-flame-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.details-summary{-webkit-backdrop-filter:blur(16px);background:#ffffffb3;border:1px solid #ffffffa6;border-radius:20px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;margin-top:14px;padding:20px;display:grid;box-shadow:0 10px 30px #5b46a014}.details-summary-item{flex-direction:column;min-width:0;display:flex}.details-summary-label{color:#8e8e97;margin-bottom:6px;font-size:10px;font-weight:600}.details-summary-item strong{color:var(--habit-color);letter-spacing:-.035em;font-size:20px;font-weight:750;line-height:1.1}.details-summary-status{color:#9999a1;margin-top:7px;font-size:10px;font-weight:600}.details-summary-status.success{color:var(--habit-color)}.details-summary-divider{background:#eeeeef;width:1px;height:55px;margin:0 18px}.details-summary-progress{background:0 0;border-radius:10px;height:10px;margin-top:13px;position:relative;overflow:hidden}.details-summary-progress:before{content:"";background-image:radial-gradient(circle, var(--habit-color) 1.1px, transparent 1.3px), radial-gradient(circle, var(--habit-color) 1.1px, transparent 1.3px);opacity:.55;-webkit-mask-image:linear-gradient(90deg, transparent 0%, transparent var(--progress,0%), black calc(var(--progress,0%) + 2%), black calc(var(--progress,0%) + 6%), transparent calc(var(--progress,0%) + 26%));-webkit-mask-image:linear-gradient(90deg, transparent 0%, transparent var(--progress,0%), black calc(var(--progress,0%) + 2%), black calc(var(--progress,0%) + 6%), transparent calc(var(--progress,0%) + 26%));mask-image:linear-gradient(90deg, transparent 0%, transparent var(--progress,0%), black calc(var(--progress,0%) + 2%), black calc(var(--progress,0%) + 6%), transparent calc(var(--progress,0%) + 26%));background-position:0 0,3px 3px;background-size:6px 6px,6px 6px;position:absolute;inset:0}.details-summary-progress>div{z-index:1;height:100%;width:var(--progress,0%);border-radius:inherit;background:linear-gradient(90deg, var(--habit-color) 0%, color-mix(in srgb, var(--habit-color) 70%, #a855f7) 100%);transition:width .35s;position:relative;-webkit-mask-image:linear-gradient(90deg,#000 0% 82%,#0000 100%);mask-image:linear-gradient(90deg,#000 0% 82%,#0000 100%)}.details-info{-webkit-backdrop-filter:blur(16px);background:#ffffffb3;border:1px solid #ffffffa6;border-radius:20px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;margin-top:14px;padding:18px 20px;display:grid}.details-info-item{flex-direction:column;min-width:0;display:flex}.details-info-label{color:#8e8e97;margin-bottom:5px;font-size:10px;font-weight:600}.details-info-item strong{color:#202024;letter-spacing:-.025em;font-size:17px;font-weight:750}.details-info-caption{color:#aaaab1;margin-top:4px;font-size:9px}.details-info-divider{background:#eeeeef;width:1px;height:45px;margin:0 18px}@media (width<=500px){.details-calendar-week-header,.details-calendar-week-row{grid-template-columns:minmax(0,1fr) 40px;column-gap:8px}.details-streak-header{width:40px}.details-calendar-week{gap:6px}.details-calendar-day{border-radius:11px;width:min(100%,40px);font-size:13px}.details-week-status{border-radius:13px;width:40px;min-height:38px}.streak-check{font-size:20px}.streak-current{font-size:16px}.streak-dash{font-size:15px}.streak-flame{width:21px;height:21px}.details-summary{padding:18px}.details-summary-divider{margin:0 14px}}@media (width<=380px){.details-calendar-week-header,.details-calendar-week-row{grid-template-columns:minmax(0,1fr) 38px;column-gap:7px}.details-streak-header{width:38px}.details-calendar-week{gap:5px}.details-week-status{border-radius:12px;width:38px;min-height:36px}.details-summary{padding:16px}.details-summary-divider{margin:0 11px}}.auth-page{z-index:0;box-sizing:border-box;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:24px 18px;display:flex;position:relative}.auth-container{box-sizing:border-box;-webkit-backdrop-filter:blur(20px);background:#ffffffb8;border:1px solid #ffffffa6;border-radius:26px;width:min(100%,420px);padding:32px 24px;box-shadow:0 20px 50px #5b46a024}.auth-header{margin-bottom:28px}.auth-header h1{color:#171735;letter-spacing:-.04em;margin:0 0 10px;font-size:32px;line-height:1}.auth-subtitle{color:#6f6f82;margin:0;font-size:15px;line-height:1.5}.auth-form{flex-direction:column;gap:18px;display:flex}.auth-field{flex-direction:column;gap:8px;display:flex}.auth-field span{color:#1c1c22;font-size:13px;font-weight:700}.auth-field input{box-sizing:border-box;width:100%;height:48px;font:inherit;color:#171717;background:#ffffff8c;border:1.5px solid #17173524;border-radius:14px;outline:none;padding:0 14px;font-size:15px;transition:border-color .15s,background .15s,box-shadow .15s;box-shadow:inset 0 1px 3px #1717350f}.auth-field input::placeholder{color:#a3a3b0}.auth-field input:focus{background:#ffffffeb;border-color:#7c3aed;box-shadow:inset 0 1px 3px #1717350a,0 0 0 3px #7c3aed26}.auth-error{color:#dc2626;margin:-4px 0 0;font-size:13px;line-height:1.4}.auth-submit{color:#fff;width:100%;height:50px;font:inherit;cursor:pointer;background:linear-gradient(135deg,#9333ea,#7c3aed);border:0;border-radius:15px;margin-top:4px;font-size:15px;font-weight:700;transition:opacity .15s,transform .15s;box-shadow:0 12px 28px #7c3aed52}.auth-submit:hover{opacity:.92}.auth-submit:active{transform:scale(.99)}.auth-submit:disabled{opacity:.5;box-shadow:none;cursor:default}.auth-switch{color:#6f6f82;text-align:center;margin:24px 0 0;font-size:14px}.auth-switch a{color:#7c3aed;font-weight:700;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.auth-user-email{color:#6f6f82;margin:6px 0 0;font-size:13px;line-height:1.4}.password-input-wrapper{width:100%;position:relative}.password-input-wrapper input{box-sizing:border-box;width:100%;padding-right:70px}.password-toggle{color:#777;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.eye-icon{border:1.8px solid;border-radius:70% 20%;width:18px;height:12px;position:relative;transform:rotate(45deg)}.eye-icon:after{content:"";border:1.5px solid;border-radius:50%;width:5px;height:5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.eye-visible{opacity:1}.password-match,.password-mismatch{margin:6px 0 0;font-size:13px}.password-match{color:#16a34a}.password-mismatch{color:#dc2626}.settings-page{z-index:0;width:min(100%,520px);min-height:100vh;padding:24px 18px calc(96px + env(safe-area-inset-bottom));box-sizing:border-box;margin:0 auto;position:relative}.settings-header{align-items:center;gap:14px;margin-bottom:32px;display:flex}.settings-header h1{letter-spacing:-.04em;color:#171717;margin:0;font-size:32px;line-height:1}.settings-back-button{-webkit-backdrop-filter:blur(10px);color:#222228;width:40px;height:40px;font:inherit;cursor:pointer;background:#ffffffa6;border:1px solid #fff9;border-radius:12px;justify-content:center;align-items:center;padding:0;font-size:22px;transition:background .15s,transform .15s;display:flex}.settings-back-button:hover{background:#ffffffd9}.settings-back-button:active{transform:scale(.96)}.settings-section{margin-bottom:24px}.settings-section-title{color:#6f6f82;margin-bottom:10px;font-size:13px;font-weight:700}.settings-card{-webkit-backdrop-filter:blur(16px);background:#ffffffb3;border:1px solid #ffffffa6;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px #5b46a014}.settings-row{justify-content:space-between;align-items:center;gap:20px;min-height:58px;padding:0 16px;display:flex}.settings-label{color:#1c1c22;font-size:15px;font-weight:600}.settings-value{color:#6f6f82;text-overflow:ellipsis;white-space:nowrap;max-width:65%;font-size:14px;overflow:hidden}.settings-logout{color:#dc2626;text-align:left;width:100%;min-height:58px;font:inherit;cursor:pointer;background:0 0;border:0;padding:0 16px;font-size:15px;font-weight:600;transition:background .15s}.settings-logout:hover{background:#dc26260f}.settings-logout:active{background:#dc26261a}.settings-categories-list{flex-direction:column;display:flex}.settings-category-row{box-sizing:border-box;border-bottom:1px solid #ffffff80;align-items:center;gap:12px;min-height:72px;padding:10px 12px;display:flex}.settings-category-row:last-child{border-bottom:0}.settings-category-icon{color:#fff;box-sizing:border-box;border-radius:12px;flex:0 0 40px;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;font-weight:700;display:flex}.settings-category-main{flex-direction:column;flex:1;justify-content:center;gap:4px;min-width:0;display:flex}.settings-category-name{color:#1c1c22;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:650;line-height:1.2;overflow:hidden}.settings-category-count{color:#8a8a96;font-size:12px;line-height:1.2}.settings-category-action{color:#7c3aed;width:36px;height:36px;font:inherit;cursor:pointer;background:#7c3aed14;border:0;border-radius:50%;flex:0 0 36px;justify-content:center;align-items:center;padding:0;font-size:24px;font-weight:400;line-height:1;transition:background .15s,transform .15s;display:flex}.settings-category-action:hover{background:#7c3aed24}.settings-category-action:active{transform:scale(.94)}.settings-empty{color:#8a8a96;padding:20px 16px;font-size:14px}.settings-error{color:#dc2626;padding:16px;font-size:14px}.habits-hero{isolation:isolate;width:100%;height:250px;position:relative;overflow:hidden}.habits-hero-image{z-index:-2;background-image:url(/headers/habits-header.png);background-position:50% 93%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.habits-hero-overlay{z-index:-1;pointer-events:none;background:linear-gradient(#140f2d05 0%,#140f2d00 60%,#140f2d2e 100%);position:absolute;inset:0}.habits-hero-quote{z-index:3;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 3px 8px #1e146414);width:155px;height:auto;display:block;position:absolute;top:24px;left:24px}.habits-hero-avatar{z-index:5;-webkit-backdrop-filter:blur(8px);color:#fff;cursor:pointer;background:#140f2d8c;border:1px solid #ffffff59;border-radius:50%;place-items:center;width:42px;height:42px;padding:0;font-size:15px;font-weight:700;display:grid;position:absolute;top:18px;right:18px}.habits-hero-content{z-index:4;position:absolute;bottom:24px;left:28px;right:28px}.habits-hero-content .eyebrow{color:#ffffffe6;letter-spacing:.18em;text-shadow:0 2px 8px #00000059;margin:0 0 5px;font-size:11px;font-weight:700;line-height:1}.habits-hero-content h1{color:#fff;letter-spacing:-.04em;text-shadow:0 3px 14px #00000059;margin:0;font-size:40px;font-weight:800;line-height:1}@media (width<=380px){.habits-hero{height:300px}.habits-hero-quote{width:135px;top:15px;left:15px}.habits-hero-content{bottom:22px;left:24px}.habits-hero-content h1{font-size:36px}}.app-background{z-index:0;pointer-events:none;background-image:url(/backgrounds/app-background.png);background-position:50%;background-repeat:no-repeat;background-size:cover;position:fixed;inset:0}.app-background:after{content:"";background:#ffffff73;position:absolute;inset:0}.category-create-form{flex-direction:column;gap:20px;display:flex}.category-create-form input{box-sizing:border-box;background:#f7f7f8;border:1px solid #e5e5e7;border-radius:16px;outline:none;width:100%;padding:15px 16px;font-size:16px}.category-create-form input:focus{border-color:#b5b5bb}.category-color-picker{flex-wrap:wrap;gap:12px;display:flex}.category-color{color:#fff;cursor:pointer;border:3px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;padding:0;font-size:16px;font-weight:700;display:flex}.category-color.selected{border-color:#171717}.save-category{color:#fff;cursor:pointer;background:#171717;border:0;border-radius:16px;width:100%;padding:16px;font-size:16px;font-weight:600}.save-category:disabled{opacity:.4;cursor:not-allowed}.category-select{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:14px;padding:16px;font-size:17px;display:flex}.category-edit{color:#777;cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-right:4px;font-size:20px;display:flex}.category-edit:active{background:#0000000f}.delete-category{color:#be123c;cursor:pointer;background:#ffe4e6b3;border:1px solid #fecdd3;border-radius:16px;width:100%;padding:14px;font-size:15px;font-weight:600}.delete-category:disabled{opacity:.5;cursor:wait}@keyframes finance-spin{to{transform:rotate(360deg)}}@media (width<=600px){.finance-page{padding-top:17px}.finance-header h1{font-size:35px}.finance-subtitle{width:100%;max-width:none;font-size:15px}.finance-hero-value{font-size:35px}}@media (width<=380px){.finance-page{padding-left:12px;padding-right:12px}.finance-header{gap:5px}.finance-header h1{font-size:32px}.finance-eyebrow{letter-spacing:2.4px;font-size:10px}.finance-subtitle{font-size:13px}.finance-add-button{min-height:37px;padding:0 12px;font-size:11px}.finance-hero-card{min-height:195px;padding:18px}.finance-hero-value{font-size:31px}.finance-overview-card{min-height:96px;padding:11px}.finance-overview-icon{width:37px;height:37px;margin-right:7px}.finance-overview-card strong{font-size:16px}.finance-overview-card small{font-size:8px}.finance-section-header h2{font-size:17px}.finance-row-main strong{font-size:13px}.finance-row-amount,.finance-payment-right strong{font-size:12px}}@supports (padding-bottom:env(safe-area-inset-bottom)){.finance-page{padding-bottom:calc(105px + env(safe-area-inset-bottom))}}.finance-empty-text,.finance-empty .finance-empty-text{color:#9999a7;width:auto;height:auto;margin:0;font-size:10px;font-weight:500;line-height:1.3;display:block}.finance-list-row,.finance-list-row-button,.finance-income-row,.finance-list-row:hover,.finance-list-row:active,.finance-list-row:focus,.finance-list-row-button:hover,.finance-list-row-button:active,.finance-list-row-button:focus,.finance-income-row:hover,.finance-income-row:active,.finance-income-row:focus{background:0 0!important}@keyframes finance-section-pulse{0%,to{background-color:#0000}50%{background-color:#a78bfa4d}}@media (prefers-reduced-motion:reduce){.finance-section-highlight{background-color:#a78bfa33;animation:none}}:is(.finance-page[data-active-tab=income] .finance-hero-card,.finance-page[data-active-tab=income] .finance-stats-grid,.finance-page[data-active-tab=income] .finance-section:has(#never-match)),.finance-page[data-active-tab=expenses] .finance-hero-card,.finance-page[data-active-tab=expenses] .finance-stats-grid,.finance-page[data-active-tab=expenses] .income-history,.finance-page[data-active-tab=expenses] .finance-section:not(#finance-expenses){display:none}@media (width<=380px){.finance-summary-grid{gap:8px}.finance-summary-card{border-radius:19px;min-height:125px;padding:11px}.finance-summary-card-header{gap:7px}.finance-summary-card-icon{border-radius:11px;width:32px;height:32px;font-size:18px}.finance-summary-card-icon svg{width:21px;height:21px}.finance-summary-card-title{font-size:12px}.finance-summary-card-subtitle{font-size:10px}.finance-summary-card-arrow{font-size:19px}.finance-summary-card-amount{margin-top:13px;font-size:clamp(16px,4.6vw,21px)}}@media (width>=600px){.finance-summary-card{border-radius:24px;min-height:150px;padding:18px}.finance-summary-card-header{gap:12px}.finance-summary-card-icon{border-radius:15px;width:44px;height:44px;font-size:23px}.finance-summary-card-icon svg{width:27px;height:27px}.finance-summary-card-title{font-size:16px}.finance-summary-card-subtitle{font-size:12px}.finance-summary-card-amount{margin-top:15px;font-size:clamp(22px,2.2vw,28px)}.finance-summary-card-arrow{font-size:24px}}@media (width<=380px){.finance-summary-grid{gap:8px}.finance-summary-grid .finance-summary-card{border-radius:19px;min-height:132px;padding:11px}}@media (width<=380px){.finance-tabs button{padding:0 10px;font-size:11.5px}}.mp-tab-content{box-sizing:border-box;color:#292932;width:100%;min-width:0;margin:0;padding:0;font-family:inherit}.mp-tab-content *,.mp-tab-content :before,.mp-tab-content :after{box-sizing:border-box}.mp-tab-content .finance-section-eyebrow,.mp-page-eyebrow{color:#9292a1;letter-spacing:1.7px;text-transform:uppercase;margin:0 0 4px;font-size:9px;font-weight:800;line-height:normal;display:block}.mp-page-heading h2,.mp-page-title,.mp-list-heading h2,.mp-list-heading h3{color:#303039;letter-spacing:normal;margin:0;font-size:19px;font-weight:750;line-height:1.15}.mp-page-heading{margin:24px 0 10px;padding:0 2px}.mp-page-heading p,.mp-page-subtitle{color:#323136;margin:10px 0 0;font-size:15px;font-weight:600;line-height:1.5}.mp-list-heading{justify-content:space-between;align-items:flex-end;gap:10px;margin:24px 0 10px;padding:0 2px;display:flex}.mp-list-heading>div{min-width:0}.mp-list-heading>span{color:#8052d9;background:#8b5cf617;border:1px solid #8b5cf61f;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;min-width:30px;height:30px;padding:0 9px;font-size:13px;font-weight:700;display:inline-flex}.mp-monthly-total{-webkit-backdrop-filter:blur(16px);background:#ffffffeb;border:1px solid #fffc;border-radius:24px;flex-direction:column;align-items:flex-start;gap:8px;width:100%;min-width:0;margin:0 0 14px;padding:22px;display:flex;box-shadow:0 8px 25px #5a488c0e}.mp-monthly-total>strong{color:#36a879;letter-spacing:-.5px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-size:32px;font-weight:800;line-height:1.2;display:block}.mp-monthly-total__caption{color:#858191;font-size:12px;line-height:1.5}.mp-category-summary,.mp-tab-content .mp-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 24px;display:grid}.mp-category-summary__item,.mp-tab-content .mp-summary>div{-webkit-backdrop-filter:blur(10px);background:#ffffffd1;border:1px solid #ffffffd9;border-radius:21px;align-items:center;gap:12px;min-width:0;padding:15px;display:flex;box-shadow:0 5px 20px #3c2b640a}.mp-tab-content .mp-summary>div{flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;min-height:104px}.mp-category-summary__icon{color:#27a985;background:#35c2971f;border-radius:14px;flex:0 0 40px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;font-weight:700;display:flex}.mp-category-summary__content{min-width:0}.mp-category-summary__name,.mp-tab-content .mp-summary span{color:#858593;overflow-wrap:anywhere;margin-bottom:4px;font-size:12px;line-height:1.4;display:block}.mp-category-summary__amount,.mp-tab-content .mp-summary strong{color:#292932;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(15px,4vw,19px);font-weight:800;line-height:1.3;display:block}.mp-section{min-width:0;margin:0 0 25px}.mp-card{background:#ffffffeb;border:1px solid #ffffffe0;border-radius:22px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;width:100%;min-width:0;margin:0 0 12px;padding:18px;transition:box-shadow .2s,transform .2s;display:grid;box-shadow:0 8px 24px #503c820e}.mp-card-main{min-width:0}.mp-card-title{color:#41414c;overflow-wrap:anywhere;font-size:16px;font-weight:750;line-height:1.4}.mp-amount{color:#292932;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0;font-size:16px;font-weight:800;line-height:1.35}.mp-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:13px;display:flex}.mp-meta span{color:#6f6880;overflow-wrap:anywhere;background:#f4f1fae6;border:1px solid #7d69aa17;border-radius:12px;align-items:center;gap:6px;max-width:100%;min-height:34px;padding:7px 12px;font-size:12px;font-weight:550;line-height:1.3;display:inline-flex}.mp-meta span:first-child{color:#299b79;background:#35c2971a;border-color:#35c29721}.mp-comment{color:#858593;overflow-wrap:anywhere;margin:10px 0 0;font-size:12px;line-height:1.5}.mp-status{color:#3ba76f;background:#4cbe851c;border-radius:9px;align-items:center;margin-top:9px;padding:4px 9px;font-size:10px;font-weight:650;display:inline-flex}.mp-card.is-inactive{opacity:.68;background:#faf8fde0}.mp-actions{grid-column:1/-1;grid-template-columns:1fr 1fr auto;gap:8px;padding-top:4px;display:grid}.mp-actions button{color:#625a76;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #e5dfed;border-radius:14px;justify-content:center;align-items:center;min-width:0;min-height:42px;padding:9px 12px;font-family:inherit;font-size:13px;font-weight:650;transition:background .15s,border-color .15s;display:inline-flex}.mp-actions button:hover{background:#f5f0ff;border-color:#cfc2f3}.mp-actions button:active{transform:scale(.98)}.mp-actions button:first-child{color:#7556c9;background:#f5f1ff;border-color:#e7ddff}.mp-actions button:nth-child(2){color:#777087;background:#faf9fc}.mp-actions button.mp-danger{color:#b13e55;background:#fff7f8;border-color:#f0d5dc;padding-left:13px;padding-right:13px}.mp-empty-state{text-align:center;background:#ffffff7a;border:1px dashed #5b46a040;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;min-height:145px;padding:24px 20px;display:flex}.mp-empty-icon{color:#27a985;background:#38c39d21;border-radius:15px;justify-content:center;align-items:center;width:42px;height:42px;margin-bottom:12px;font-size:23px;display:flex}.mp-empty-state h3{color:#303039;margin:0;font-size:16px;font-weight:750}.mp-empty-state p{color:#858593;max-width:300px;margin:8px 0 0;font-size:12px;line-height:1.55}.mp-empty{color:#858593;text-align:center;margin:0;padding:22px 12px;font-size:13px}.mp-error{color:#b52f42;background:#fff3f4;border:1px solid #f2d5da;border-radius:15px;margin:0 0 14px;padding:13px 15px;font-size:12px;line-height:1.5}.mp-backdrop{z-index:210;-webkit-backdrop-filter:blur(8px);background:#251f3d5c;justify-content:center;align-items:flex-end;padding-top:20px;display:flex;position:fixed;inset:0}.mp-sheet{overscroll-behavior:contain;width:100%;max-width:520px;max-height:92dvh;padding:10px 20px calc(24px + env(safe-area-inset-bottom));color:#292932;box-sizing:border-box;background:#fff;border:1px solid #ffffffd9;border-bottom:0;border-radius:26px 26px 0 0;animation:.22s ease-out mp-slide-up;overflow:hidden auto;box-shadow:0 -12px 40px #1e143c24}@keyframes mp-slide-up{0%{opacity:.7;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.mp-grabber{background:#d8d3e3;border-radius:99px;width:42px;height:4px;margin:0 auto 18px}.mp-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.mp-header h2{color:#202027;min-width:0;margin:0;font-size:23px;font-weight:800;line-height:1.3}.mp-header .mp-close{box-sizing:border-box;aspect-ratio:1;color:#635b77;cursor:pointer;background:#f2eff8;border:0;border-radius:50%;flex:0 0 40px;justify-content:center;align-items:center;width:40px;min-width:40px;max-width:40px;height:40px;min-height:40px;max-height:40px;padding:0;font-family:inherit;font-size:24px;font-weight:400;line-height:1;display:inline-flex}.mp-header .mp-close:hover{background:#eae4f7}.mp-header .mp-close:disabled{opacity:.5;cursor:wait}.mp-form{background:#faf9fc;border:1px solid #e8e3f0;border-radius:20px;width:100%;min-width:0;margin:0;padding:17px}.mp-form label{color:#746d84;flex-direction:column;align-items:stretch;gap:8px;min-width:0;margin:0 0 16px;font-size:13px;font-weight:650;display:flex}.mp-form input,.mp-form select,.mp-form textarea{box-sizing:border-box;color:#292932;background-color:#fff;border:1px solid #e4dfec;border-radius:14px;outline:none;width:100%;min-width:0;min-height:48px;margin:0;padding:12px 14px;font-family:inherit;font-size:15px;line-height:1.4;display:block}.mp-form textarea{resize:vertical;min-height:88px}.mp-form select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23292932' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:34px}.mp-form input:focus,.mp-form select:focus,.mp-form textarea:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #7c3aed1f}.mp-form input::placeholder,.mp-form textarea::placeholder{color:#aaa5b6}.mp-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:0 12px;display:grid}.mp-form-grid>*,.mp-form-grid label{width:100%;min-width:0}.mp-form-grid select,.mp-form-grid input{height:48px;padding-top:0;padding-bottom:0}.mp-form-actions{gap:10px;margin-top:5px;display:flex}.mp-form-actions button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#53d0a1,#25bc8e);border:0;border-radius:14px;flex:1;justify-content:center;align-items:center;min-width:0;min-height:48px;padding:12px 14px;font-family:inherit;font-size:14px;font-weight:750;display:inline-flex;box-shadow:0 6px 16px #2dc29126}.mp-form-actions button:disabled{opacity:.6;cursor:wait}.mp-form-actions .mp-secondary{display:none!important}@media (width<=480px){.mp-monthly-total{border-radius:22px;padding:20px}.mp-card{border-radius:19px;gap:10px;padding:15px}.mp-card-title{font-size:15px}.mp-amount{font-size:14px}.mp-meta span{font-size:11px}.mp-actions{gap:7px}.mp-actions button{min-height:40px;padding:9px 11px;font-size:12px}.mp-sheet{padding-left:15px;padding-right:15px}.mp-form{padding:14px}}@media (width<=380px){.mp-monthly-total>strong{font-size:28px}.mp-category-summary,.mp-tab-content .mp-summary{gap:8px}.mp-category-summary__item{border-radius:17px;gap:8px;padding:11px}.mp-category-summary__icon{border-radius:11px;flex-basis:32px;width:32px;height:32px;font-size:17px}.mp-actions{grid-template-columns:1fr 1fr}.mp-actions button.mp-danger{grid-column:1/-1}.mp-form-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=360px){.mp-card{grid-template-columns:minmax(0,1fr)}.mp-amount{text-align:left;justify-self:start}.mp-actions{grid-column:1}}@media (prefers-reduced-motion:reduce){.mp-sheet{animation:none}.mp-card,.mp-actions button{transition:none}}.income-sheet-backdrop{z-index:200;-webkit-backdrop-filter:blur(7px);background:#251f3d47;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.income-sheet{overscroll-behavior:contain;box-sizing:border-box;width:min(100%,520px);max-height:90dvh;padding:12px 20px calc(24px + env(safe-area-inset-bottom));scrollbar-width:thin;scrollbar-color:#8b5cf633 transparent;background:linear-gradient(155deg,#fff 0%,#fbfaff 65%,#f8f6ff 100%);border:1px solid #ffffffe6;border-bottom:0;border-radius:28px 28px 0 0;animation:.23s ease-out income-sheet-up;overflow-y:auto;box-shadow:0 -12px 40px #50408224}@keyframes income-sheet-up{0%{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}.income-sheet-handle{background:#6e6c7d33;border-radius:10px;width:42px;height:4px;margin:1px auto 17px}.income-sheet-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.income-sheet-header span{color:#8d8b9b;margin-bottom:5px;font-size:11px;font-weight:550;display:block}.income-sheet-header h2{color:#282631;letter-spacing:-.6px;margin:0;font-size:28px;font-weight:800;line-height:1.05}.income-sheet-close{color:#74727f;cursor:pointer;background:#7d769114;border:1px solid #ffffffe6;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;padding:0;font-size:27px;line-height:1;display:flex}.income-form{flex-direction:column;gap:16px;display:flex}.income-field{flex-direction:column;gap:8px;display:flex}.income-field>span{color:#656474;font-size:14px;font-weight:700}.income-field>span small{color:#aaa8b5;margin-left:4px;font-size:10px;font-weight:500}.income-field input,.income-field textarea{box-sizing:border-box;color:#30303a;background:#fffffff5;border:1px solid #6e649129;border-radius:15px;outline:none;width:100%;padding:14px 15px;font-family:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s;box-shadow:0 2px 10px #5f4b9106}.income-field input:focus,.income-field textarea:focus{border-color:#8b5cf68c;box-shadow:0 0 0 3px #8b5cf61a}.income-field textarea{resize:vertical;min-height:82px}.income-amount-input{background:#ffffffdb;border:1px solid #7a749121;border-radius:17px;align-items:center;padding:0 15px;display:flex;box-shadow:0 2px 10px #5f4b9106}.income-amount-input:focus-within{border-color:#8b5cf659;box-shadow:0 0 0 3px #8b5cf614}.income-amount-input input{min-width:0;box-shadow:none;color:#292833;letter-spacing:-.5px;background:0 0;border:0;outline:none;flex:1;padding:13px 0;font-size:29px;font-weight:800}.income-amount-input input:focus{box-shadow:none}.income-amount-input>span{color:#777584;font-size:20px;font-weight:750}.income-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.income-type-grid button{color:#777583;cursor:pointer;background:#ffffffb3;border:1px solid #7a74911f;border-radius:15px;min-height:48px;padding:0 10px;font-family:inherit;font-size:13px;font-weight:650;transition:all .16s}.income-type-grid button:active{transform:scale(.98)}.income-type-grid button.active{color:#7c3aed;background:linear-gradient(135deg,#8b5cf61f,#ec48991a);border-color:#8b5cf633;box-shadow:inset 0 0 0 1px #8b5cf60a}.income-field input[type=date],.income-field input[type=month]{color:#393548;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border-radius:15px;min-height:50px;padding:12px 14px;font-size:15px;font-weight:600}.income-field input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.8;border-radius:6px;width:19px;height:19px;padding:3px}.income-field input[type=month]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.8;border-radius:6px;width:19px;height:19px;padding:3px}.income-hint{color:#9a98a7;margin-top:-3px;font-size:9px;line-height:1.35}.income-form-error{color:#c64f6b;background:#d74e7012;border:1px solid #d74e701a;border-radius:13px;padding:12px 13px;font-size:11px;line-height:1.4}.income-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#54c99a,#32b786);border:0;border-radius:17px;width:100%;min-height:54px;margin-top:2px;font-family:inherit;font-size:15px;font-weight:750;transition:transform .15s,box-shadow .15s;box-shadow:0 8px 20px #32b78633}.income-submit:active{transform:scale(.985);box-shadow:0 4px 12px #32b7862e}.income-submit:disabled{opacity:.55;cursor:default}@media (width<=600px){.income-sheet{max-height:88dvh;padding-left:18px;padding-right:18px}.income-sheet-header h2{font-size:26px}}@media (width<=380px){.income-sheet{padding-left:15px;padding-right:15px}.income-sheet-header h2{font-size:24px}.income-form{gap:15px}.income-amount-input input{font-size:26px}}.income-form-actions{flex-direction:column;gap:9px;margin-top:2px;display:flex}.income-delete{color:#c84f6d;cursor:pointer;background:#d6486e0f;border:1px solid #d6486e29;border-radius:15px;width:100%;min-height:46px;font-family:inherit;font-size:12px;font-weight:700}.income-delete:active{transform:scale(.985)}.income-delete:disabled{opacity:.5;cursor:default}.finance-income-row{text-align:left;cursor:pointer;border:0;border-bottom:1px solid #645f7812;width:100%;font-family:inherit;transition:background .15s;position:relative}.finance-income-row:hover{background:#7c3aed09}.finance-income-row:active{background:#7c3aed12}.finance-row-edit{color:#aaa7b5;flex-shrink:0;margin-left:7px;font-size:18px;line-height:1}.payment-delete{color:#dc2626;width:100%;min-height:48px;font:inherit;cursor:pointer;background:#dc262612;border:1px solid #dc262633;border-radius:14px;margin-top:10px;padding:12px 16px;font-weight:600;transition:background .15s}.payment-delete:hover{background:#dc262621}.payment-delete:disabled{opacity:.5;cursor:not-allowed}.finance-list-row-button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}.finance-list-row-button:focus-visible{outline-offset:2px;outline:2px solid #7c3aed99}.income-field input[type=month],.income-field input[type=date]{box-sizing:border-box;color:#302b3d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;appearance:none;background:#fffffff5;border:1px solid #786c9b29;border-radius:16px;width:100%;min-width:0;min-height:58px;padding:14px 16px;font-family:inherit;font-size:16px;font-weight:600;display:block;box-shadow:0 3px 10px #5b46a009}.income-field input[type=month]:focus,.income-field input[type=date]:focus{border-color:#8b5cf680;outline:none;box-shadow:0 0 0 3px #8b5cf61a}.income-field input[type=month]::-webkit-calendar-picker-indicator{opacity:.75;cursor:pointer;border-radius:7px;width:20px;height:20px;margin-left:8px;padding:4px}.income-field input[type=date]::-webkit-calendar-picker-indicator{opacity:.75;cursor:pointer;border-radius:7px;width:20px;height:20px;margin-left:8px;padding:4px}.income-hint{margin-top:0;font-size:11px;line-height:1.45}.payment-sheet-backdrop{z-index:210;-webkit-backdrop-filter:blur(7px);background:#251f3d47;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.payment-sheet{overscroll-behavior:contain;box-sizing:border-box;width:min(100%,520px);max-height:88dvh;padding:12px 20px calc(24px + env(safe-area-inset-bottom));scrollbar-width:thin;scrollbar-color:#8b5cf633 transparent;background:linear-gradient(155deg,#fff 0%,#fbfaff 65%,#f8f6ff 100%);border:1px solid #ffffffe6;border-bottom:0;border-radius:28px 28px 0 0;animation:.23s ease-out payment-sheet-up;overflow-y:auto;box-shadow:0 -12px 40px #50408224}@keyframes payment-sheet-up{0%{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}.payment-sheet-handle{background:#6e6c7d33;border-radius:10px;width:42px;height:4px;margin:1px auto 17px}.payment-sheet-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.payment-sheet-header span{color:#8d8b9b;margin-bottom:5px;font-size:11px;font-weight:550;display:block}.payment-sheet-header h2{color:#282631;letter-spacing:-.6px;margin:0;font-size:28px;font-weight:800;line-height:1.05}.payment-sheet-close{color:#74727f;cursor:pointer;background:#7d769114;border:1px solid #ffffffe6;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;padding:0;font-size:27px;line-height:1;display:flex}.payment-form{flex-direction:column;gap:16px;display:flex}.payment-field{flex-direction:column;gap:8px;display:flex}.payment-field>span{color:#656474;font-size:14px;font-weight:700}.payment-field>span small{color:#aaa8b5;margin-left:4px;font-size:10px;font-weight:500}.payment-field input,.payment-field textarea{box-sizing:border-box;color:#30303a;background:#fffffff5;border:1px solid #6e649129;border-radius:15px;outline:none;width:100%;padding:14px 15px;font-family:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s}.payment-field input:focus,.payment-field textarea:focus{border-color:#8b5cf680;box-shadow:0 0 0 3px #8b5cf61a}.payment-field textarea{resize:vertical;min-height:82px}.payment-amount-input{background:#ffffffdb;border:1px solid #7a749121;border-radius:17px;align-items:center;padding:0 15px;display:flex}.payment-amount-input:focus-within{border-color:#ec489959;box-shadow:0 0 0 3px #ec489914}.payment-amount-input input{min-width:0;box-shadow:none;color:#292833;background:0 0;border:0;outline:none;flex:1;padding:13px 0;font-size:29px;font-weight:800}.payment-amount-input input:focus{box-shadow:none}.payment-amount-input>span{color:#777584;font-size:20px;font-weight:750}.payment-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.payment-type-grid button{color:#777583;cursor:pointer;background:#ffffffb3;border:1px solid #7a74911f;border-radius:15px;min-height:46px;padding:0 10px;font-family:inherit;font-size:13px;font-weight:650;transition:all .16s}.payment-type-grid button.active{color:#c43d85;background:linear-gradient(135deg,#ec48991f,#8b5cf61a);border-color:#ec489938}.payment-status-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.payment-status-grid button{color:#777583;cursor:pointer;background:#ffffffb3;border:1px solid #7a74911f;border-radius:13px;min-height:44px;font-family:inherit;font-size:13px;font-weight:650}.payment-status-grid button.active.planned{color:#7c3aed;background:#8b5cf61a;border-color:#8b5cf633}.payment-status-grid button.active.paid{color:#249b73;background:#48c9971c;border-color:#48c99738}.payment-status-grid button.active.overdue{color:#d24f6d;background:#ef57741a;border-color:#ef577433}.payment-recurring{background:#ffffff9e;border:1px solid #7a74911a;border-radius:15px;justify-content:space-between;align-items:center;padding:14px 15px;display:flex}.payment-recurring div{flex-direction:column;gap:3px;display:flex}.payment-recurring strong{color:#4d4b59;font-size:12px}.payment-recurring span{color:#9997a5;font-size:10px}.payment-toggle{cursor:pointer;background:#d8d5df;border:0;border-radius:20px;width:46px;height:27px;padding:3px;transition:background .16s;position:relative}.payment-toggle span{background:#fff;border-radius:50%;width:21px;height:21px;transition:transform .16s;display:block;box-shadow:0 2px 5px #0000001f}.payment-toggle.active{background:linear-gradient(135deg,#ec4899,#7c3aed)}.payment-toggle.active span{transform:translate(19px)}.payment-hint{color:#9a98a7;margin-top:-3px;font-size:9px;line-height:1.35}.payment-form-error{color:#c64f6b;background:#d74e7012;border-radius:13px;padding:12px 13px;font-size:11px}.payment-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ec4899,#7c3aed);border:0;border-radius:17px;width:100%;min-height:54px;margin-top:2px;font-family:inherit;font-size:15px;font-weight:750;box-shadow:0 10px 24px #7c3aed33}.payment-submit:disabled{opacity:.55;cursor:default}.payment-field input[type=date]{color:#393548;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border-radius:15px;min-height:50px;padding:12px 14px;font-size:15px;font-weight:600}.payment-field input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.8;border-radius:6px;width:19px;height:19px;padding:3px}@media (width<=600px){.payment-sheet{max-height:88dvh;padding-left:18px;padding-right:18px}.payment-sheet-header h2{font-size:26px}}@media (width<=380px){.payment-sheet{padding-left:15px;padding-right:15px}.payment-sheet-header h2{font-size:24px}.payment-form{gap:15px}.payment-amount-input input{font-size:26px}}.finance-page{width:100%;max-width:520px;min-height:100vh;padding:18px 16px calc(105px + env(safe-area-inset-bottom));box-sizing:border-box;color:#292932;margin:0 auto;display:block;position:relative}.finance-header{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"text button""subtitle subtitle";align-items:start;gap:0 10px;width:100%;margin-bottom:10px;display:grid}.finance-subtitle{box-sizing:border-box;color:#323136;text-shadow:0 1px 4px #ffffffe6;grid-area:subtitle;width:100%;max-width:none;margin:13px 0 0;font-size:15px;font-weight:600;line-height:1.5;display:block}.finance-header-text{grid-area:text;min-width:0}.finance-header>.finance-add-wrapper{grid-area:button;justify-self:end}.finance-header-text{min-width:0}.finance-eyebrow{color:#737386;letter-spacing:2.8px;margin-bottom:6px;font-size:11px;font-weight:800;display:block}.finance-header h1{color:#202027;letter-spacing:-1px;margin:0;font-size:36px;font-weight:800;line-height:1}.finance-subtitle span{color:#38bb90;font-size:18px;font-weight:800}.finance-add-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#53d0a1,#25bc8e);border:0;border-radius:22px;flex-shrink:0;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 15px;font-family:inherit;font-size:12px;font-weight:750;display:flex;box-shadow:0 8px 20px #2dc29133}.finance-add-button span{font-size:20px;line-height:1}.finance-tabs{box-sizing:border-box;scrollbar-width:none;background:#ffffff94;border-radius:18px;gap:4px;width:100%;margin:10px 0;padding:4px;display:flex;overflow-x:auto}.finance-tabs::-webkit-scrollbar{display:none}.finance-tabs button{color:#777789;cursor:pointer;background:0 0;border:0;border-radius:15px;flex:1 0 auto;min-height:38px;padding:0 16px;font-family:inherit;font-size:12px;font-weight:650}.finance-tabs button.active{color:#20aa7d;background:#4ccfa02b}.finance-period{background:#ffffff94;border:1px solid #ffffffbf;border-radius:17px;justify-content:center;align-items:center;width:fit-content;margin:8px 0 13px auto;padding:3px;display:flex;box-shadow:0 5px 16px #5a488c0b}.finance-period button{color:#858592;cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:20px;display:flex}.finance-period>div{flex-direction:column;align-items:center;min-width:94px;line-height:1.1;display:flex}.finance-period strong{color:#454550;font-size:12px;font-weight:750}.finance-period span{color:#9999a7;margin-top:3px;font-size:9px}.finance-hero-card{box-sizing:border-box;background:linear-gradient(135deg,#fffffff5,#f9f6ffd6);border:1px solid #ffffffe6;border-radius:26px;width:100%;min-height:205px;margin-bottom:13px;padding:21px;position:relative;overflow:hidden;box-shadow:0 13px 35px #5c489113}.finance-hero-card:before{content:"";background:radial-gradient(circle,#cc7eff2b,#0000 70%);border-radius:50%;width:180px;height:180px;position:absolute;top:-75px;right:-75px}.finance-hero-content{z-index:2;position:relative}.finance-card-label{color:#7f7f90;font-size:11px;display:block}.finance-hero-value{letter-spacing:-1px;margin-top:6px;font-size:36px;font-weight:800;line-height:1;display:block}.finance-hero-value.positive{color:#4cad6c}.finance-hero-value.negative{color:#d74e70}.finance-hero-after{margin-top:19px}.finance-hero-after span{color:#858593;font-size:10px;display:block}.finance-hero-after strong{margin-top:4px;font-size:21px;font-weight:750;display:block}.finance-hero-after strong.positive{color:#4cad6c}.finance-hero-after strong.negative{color:#d74e70}.finance-progress{background:#7878871c;border-radius:10px;width:100%;height:6px;margin-top:14px;overflow:hidden}.finance-progress-bar{border-radius:inherit;background:linear-gradient(90deg,#63d2a4,#41c194);height:100%;transition:width .3s}.finance-hero-footer{color:#777783;justify-content:space-between;margin-top:9px;font-size:10px;display:flex}.finance-hero-footer strong{color:#4d4d58;font-weight:750}.finance-hero-decoration{z-index:2;color:#fff;background:linear-gradient(135deg,#e34c9b,#8139dc);border-radius:15px;justify-content:center;align-items:center;width:45px;height:45px;font-size:20px;font-weight:750;display:flex;position:absolute;top:19px;right:19px;box-shadow:0 9px 18px #7c3aed2e}.finance-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:12px;display:grid}.finance-overview-card{box-sizing:border-box;border:1px solid #ffffffd9;border-radius:21px;align-items:center;min-width:0;min-height:102px;padding:14px;display:flex;position:relative}.finance-overview-card.income{background:linear-gradient(135deg,#e0faf1f0,#f3fef9d1)}.finance-overview-card.expense{background:linear-gradient(135deg,#ffe8f0f0,#fff6f9d6)}.finance-overview-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:37px;height:37px;margin-right:10px;font-size:20px;display:flex}.finance-overview-card.income .finance-overview-icon{color:#25a97d;background:#4bcd9e29}.finance-overview-card.expense .finance-overview-icon{color:#d84f72;background:#e74d7721}.finance-overview-card>div:nth-child(2){min-width:0}.finance-overview-card>div:nth-child(2)>span{font-size:11px;font-weight:600;display:block}.finance-overview-card.income>div:nth-child(2)>span{color:#339e7d}.finance-overview-card.expense>div:nth-child(2)>span{color:#d55d79}.finance-overview-card strong{color:#292932;margin-top:4px;font-size:18px;line-height:1.05;display:block}.finance-overview-card small{color:#8e8e9d;margin-top:4px;font-size:9px;display:block}.finance-card-arrow{color:#60606b;font-size:20px;position:absolute;right:10px}.finance-debt-grid{margin-top:0;margin-bottom:25px}.finance-overview-card.credit-card{background:linear-gradient(135deg,#eae4fff2,#f8f5ffdb)}.finance-overview-card.debt-card{background:linear-gradient(135deg,#ffeeddf2,#fff8f0db)}.finance-overview-card.credit-card .finance-overview-icon{color:#8150d8;background:#8256e71c}.finance-overview-card.debt-card .finance-overview-icon{color:#df7b48;background:#f18b4b1f}.finance-overview-card.credit-card>div:nth-child(2)>span{color:#7656b9}.finance-overview-card.debt-card>div:nth-child(2)>span{color:#d47749}.finance-section-header{justify-content:space-between;align-items:flex-end;gap:10px;margin-top:24px;margin-bottom:10px;padding:0 2px;display:flex}.finance-section-eyebrow{color:#9292a1;letter-spacing:1.7px;margin-bottom:4px;font-size:9px;font-weight:800;display:block}.finance-section-header h2{color:#303039;margin:0;font-size:19px;font-weight:750;line-height:1.15}.finance-section-total{color:#3b3b45;flex-shrink:0;font-size:13px;font-weight:700}.finance-see-all{color:#777787;cursor:pointer;background:0 0;border:0;padding:3px 0;font-family:inherit;font-size:11px}.finance-list{background:#ffffffbd;border:1px solid #ffffffd9;border-radius:21px;width:100%;overflow:hidden;box-shadow:0 9px 25px #5a488c0e}.finance-list-row{box-sizing:border-box;border-bottom:1px solid #645f7812;align-items:center;min-height:67px;padding:10px 14px;display:flex}.finance-list-row:last-child{border-bottom:0}.finance-row-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:37px;height:37px;margin-right:10px;font-size:14px;font-weight:750;display:flex}.finance-row-icon.income{color:#8751dc;background:#8b5cf617}.finance-row-icon.payment.rent{color:#36ad83;background:#4fcc9f1f}.finance-row-icon.payment.credit{color:#8852d9;background:#8b5cf61a}.finance-row-icon.payment.debt{color:#e07a4c;background:#f28e5b1f}.finance-row-icon.payment.utilities,.finance-row-icon.payment.internet{color:#4d9bdd;background:#50a1e81f}.finance-row-icon.payment.phone{color:#d45a94;background:#e05c971a}.finance-row-icon.payment.subscription{color:#d98d32;background:#f9b45021}.finance-row-main{flex:1;min-width:0}.finance-row-main strong{color:#41414c;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;display:block;overflow:hidden}.finance-row-main span{color:#8f8f9d;margin-top:4px;font-size:10px;display:block}.finance-row-amount{color:#383842;flex-shrink:0;margin-left:8px;font-size:13px;font-weight:700}.finance-payment-right{flex-direction:column;flex-shrink:0;align-items:flex-end;margin-left:8px;display:flex}.finance-payment-right strong{color:#383842;font-size:13px;font-weight:700}.finance-payment-status{border-radius:8px;margin-top:4px;padding:3px 7px;font-size:8px;font-weight:650}.finance-payment-status.planned{color:#8755d8;background:#8b5cf614}.finance-payment-status.paid{color:#3ba76f;background:#4cbe851c}.finance-payment-status.overdue{color:#d24f6d;background:#de506f1a}.finance-list-total{color:#858592;background:#7c3aed09;justify-content:space-between;align-items:center;min-height:47px;padding:0 14px;font-size:10px;display:flex}.finance-list-total strong{color:#42424c;font-size:13px}.finance-empty{color:#9999a7;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:115px;display:flex}.finance-loading{color:#888895;flex-direction:column;justify-content:center;align-items:center;gap:11px;min-height:70vh;font-size:12px;display:flex}.finance-loading-spinner{border:3px solid #7c3aed1f;border-top-color:#7c3aed;border-radius:50%;width:28px;height:28px;animation:.8s linear infinite finance-spin}.finance-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.finance-error-icon{color:#d65370;background:#d653701a;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;margin-bottom:12px;font-weight:750;display:flex}.finance-error h2{margin:0;font-size:18px}.finance-error p{color:#8c8c99;margin:8px 0 16px;font-size:11px}.finance-error button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ec4899,#7c3aed);border:0;border-radius:13px;min-height:40px;padding:0 17px;font-family:inherit;font-size:11px;font-weight:700}.finance-bottom-space{height:10px}@media (width<=600px){.finance-page{padding-top:17px}.finance-header h1{font-size:35px}.finance-subtitle{width:100%;max-width:none;font-size:15px}.finance-hero-value{font-size:35px}}@media (width<=380px){.finance-page{padding-left:12px;padding-right:12px}.finance-header{gap:5px}.finance-header h1{font-size:32px}.finance-eyebrow{letter-spacing:2.4px;font-size:10px}.finance-subtitle{font-size:13px}.finance-add-button{min-height:37px;padding:0 12px;font-size:11px}.finance-hero-card{min-height:195px;padding:18px}.finance-hero-value{font-size:31px}.finance-overview-card{min-height:96px;padding:11px}.finance-overview-icon{width:37px;height:37px;margin-right:7px}.finance-overview-card strong{font-size:16px}.finance-overview-card small{font-size:8px}.finance-section-header h2{font-size:17px}.finance-row-main strong{font-size:13px}.finance-row-amount,.finance-payment-right strong{font-size:12px}}@supports (padding-bottom:env(safe-area-inset-bottom)){.finance-page{padding-bottom:calc(105px + env(safe-area-inset-bottom))}}.finance-add-wrapper{position:relative}.finance-add-menu{z-index:100;-webkit-backdrop-filter:blur(16px);background:#fffffff0;border:1px solid #ffffffd9;border-radius:18px;width:245px;padding:7px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 15px 35px #4b397829}.finance-add-menu button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:13px;align-items:center;gap:11px;width:100%;padding:10px;display:flex}.finance-add-menu button:hover{background:#7c3aed0f}.finance-add-menu-icon{border-radius:12px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;font-weight:700;display:flex}.finance-add-menu-icon.income{color:#269d76;background:#48c9971f}.finance-add-menu-icon.expense{color:#d64d86;background:#ec48991c}.finance-add-menu button>span:last-child{flex-direction:column;gap:2px;display:flex}.finance-add-menu strong{color:#373541;font-size:12px}.finance-add-menu small{color:#9997a5;font-size:9px}.finance-empty{appearance:none;box-sizing:border-box;color:#9999a7;text-align:center;cursor:pointer;background:#ffffff73;border:1px dashed #5b46a040;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:115px;margin:0;padding:16px;font-family:inherit;font-size:10px;font-weight:500;line-height:1.3;transition:background .15s,transform .15s,border-color .15s;display:flex}.finance-empty:hover{background:#ffffffb3;border-color:#5b46a073}.finance-empty:active{transform:scale(.98)}.finance-empty-plus{color:#8853da;background:#7c3aed12;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin:0 0 8px;font-size:20px;font-weight:400;line-height:1;display:flex}.finance-empty-text,.finance-empty .finance-empty-text{color:#9999a7;width:auto;height:auto;margin:0;font-size:10px;font-weight:500;line-height:1.3;display:block}.finance-income-row{transition:background .2s;background:0 0!important}.finance-income-row:hover,.finance-income-row:active,.finance-income-row:focus{background:0 0!important}.finance-income-row:focus-visible{outline-offset:-2px;outline:2px solid #7c3aed66}.finance-overview-card{cursor:pointer;-webkit-tap-highlight-color:transparent}.finance-card-arrow{transition:transform .2s}.finance-overview-card:hover .finance-card-arrow{transform:translate(3px)}.finance-overview-card:active{transform:scale(.98)}.finance-list-row,.finance-list-row-button,.finance-income-row,.finance-list-row:hover,.finance-list-row:active,.finance-list-row:focus,.finance-list-row-button:hover,.finance-list-row-button:active,.finance-list-row-button:focus,.finance-income-row:hover,.finance-income-row:active,.finance-income-row:focus{background:0 0!important}.finance-list-row+.finance-list-row,.finance-list-row-button+.finance-list-row-button{border-top:1px solid #ffffffa6}#finance-income,#finance-expenses{scroll-margin-top:24px}.finance-section{border-radius:24px;transition:background-color .35s,box-shadow .35s}.finance-section-highlight{border-radius:24px;animation:.75s ease-in-out 4 finance-section-pulse}@media (prefers-reduced-motion:reduce){.finance-section-highlight{background-color:#a78bfa33;animation:none}}:is(.finance-page[data-active-tab=income] .finance-hero-card,.finance-page[data-active-tab=income] .finance-stats-grid,.finance-page[data-active-tab=income] .finance-section:has(#never-match)),.finance-page[data-active-tab=expenses] .finance-hero-card,.finance-page[data-active-tab=expenses] .finance-stats-grid,.finance-page[data-active-tab=expenses] .income-history,.finance-page[data-active-tab=expenses] .finance-section:not(#finance-expenses){display:none}.income-history{flex-direction:column;gap:24px;padding-bottom:24px;display:flex}.income-history-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.income-history-heading h2{margin:6px 0 0}.income-history-summary{-webkit-backdrop-filter:blur(16px);background:#ffffffeb;border:1px solid #fffc;border-radius:24px;flex-direction:column;gap:8px;padding:22px;display:flex}.income-history-summary span,.income-history-summary small{color:#858191}.income-history-summary strong{color:#36a879;font-size:32px}.income-history-month{margin-bottom:8px}.income-history-year{color:#302b3d;font:inherit;background:#ffffffe6;border:1px solid #7c3aed26;border-radius:14px;padding:10px 14px}.finance-page [hidden]{display:none!important}.income-history-year{appearance:none;color:#302b3d;min-width:116px;font:inherit;cursor:pointer;background-color:#ffffffeb;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;border:1px solid #7c3aed29;border-radius:16px;padding:11px 38px 11px 16px;font-size:15px;font-weight:700;transition:border-color .2s,box-shadow .2s;box-shadow:0 4px 14px #5b46a00f}.income-history-year:focus{border-color:#8b5cf6;outline:none;box-shadow:0 0 0 3px #7c3aed1f}.income-history-year option{color:#302b3d;background:#fff}.finance-paid-header{margin-top:32px}.finance-count-badge{box-sizing:border-box;color:#8052d9;background:#8b5cf617;border:1px solid #8b5cf61f;border-radius:12px;justify-content:center;align-items:center;min-width:30px;height:30px;padding:0 9px;font-size:13px;font-weight:700;display:inline-flex}.finance-count-badge-paid{color:#249b73;background:#32b7861a;border-color:#32b78624}.finance-paid-list{border-color:#32b7861f}.finance-paid-total{background:#32b7860b}.finance-paid-list .finance-list-row:active{background:#32b7860f}.finance-summary-card{box-sizing:border-box;text-align:left;-webkit-backdrop-filter:blur(14px);cursor:pointer;-webkit-tap-highlight-color:transparent;border:1.5px solid #fffffff2;border-radius:22px;min-width:0;min-height:135px;padding:14px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 8px 25px #503c8214}.finance-summary-card:after{content:"";opacity:.18;pointer-events:none;background:repeating-linear-gradient(135deg,#0000 0 9px,currentColor 9px 11px,#0000 11px 17px);width:120px;height:85px;position:absolute;bottom:8px;right:-18px;transform:rotate(-12deg);-webkit-mask-image:linear-gradient(135deg,#0000,#000);mask-image:linear-gradient(135deg,#0000,#000)}.finance-summary-card:active{transform:scale(.985)}.finance-summary-card-header{z-index:1;text-align:left;align-items:center;gap:8px;min-width:0;display:flex;position:relative}.finance-summary-card-icon{border-radius:13px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:21px;font-weight:700;display:flex}.finance-summary-card-icon svg{stroke-width:2.2px;width:24px;height:24px;display:block}.finance-summary-card-title{color:#17152a;font-size:14px;font-weight:750;line-height:1.2}.finance-summary-card-subtitle{color:#696580;margin-top:3px;font-size:11px;line-height:1.35}.finance-summary-card-header>div:nth-child(2){flex:1;min-width:0}.finance-summary-card-arrow{color:#60606b;flex-shrink:0;align-self:center;margin-left:auto;padding-left:4px;font-size:21px;line-height:1;transition:transform .2s;display:none;position:static;transform:none}.finance-summary-card:hover .finance-summary-card-arrow{transform:translate(3px)}.finance-summary-card-amount{z-index:1;text-align:left;letter-spacing:-.5px;white-space:nowrap;font-variant-numeric:tabular-nums;width:100%;margin-top:13px;font-size:clamp(17px,4.8vw,25px);font-weight:800;line-height:1.15;display:block;position:relative}.finance-summary-card>.finance-summary-card-subtitle{z-index:1;text-align:left;position:relative}.finance-summary-card.income{color:#009b70;background:linear-gradient(145deg,#e7fbf5f7,#d6f7eee8)}.finance-summary-card.income .finance-summary-card-icon{color:#00a97b;background:#59dcb53b}.finance-summary-card.income .finance-summary-card-amount{color:#008b64}.finance-summary-card.expenses{color:#ed397b;background:linear-gradient(145deg,#fff1f7fa,#ffe2eeeb)}.finance-summary-card.expenses .finance-summary-card-icon{color:#ed397b;background:#ff73a72b}.finance-summary-card.expenses .finance-summary-card-amount{color:#d81960}.finance-summary-card.credits{color:#843cff;background:linear-gradient(145deg,#f6f1fffa,#e6dcffeb)}.finance-summary-card.credits .finance-summary-card-icon{color:#843cff;background:#945fff2b}.finance-summary-card.credits .finance-summary-card-amount{color:#641bd4}.finance-summary-card.debts{color:#e96820;background:linear-gradient(145deg,#fff7eafa,#ffe8ccf0)}.finance-summary-card.debts .finance-summary-card-icon{color:#ed6b20;background:#ffa54d2e}.finance-summary-card.debts .finance-summary-card-amount{color:#9b3b0b}@media (width<=380px){.finance-summary-grid{gap:8px}.finance-summary-card{border-radius:19px;min-height:125px;padding:11px}.finance-summary-card-header{gap:7px}.finance-summary-card-icon{border-radius:11px;width:32px;height:32px;font-size:18px}.finance-summary-card-icon svg{width:21px;height:21px}.finance-summary-card-title{font-size:12px}.finance-summary-card-subtitle{font-size:10px}.finance-summary-card-arrow{font-size:19px}.finance-summary-card-amount{margin-top:13px;font-size:clamp(16px,4.6vw,21px)}}@media (width>=600px){.finance-summary-card{border-radius:24px;min-height:150px;padding:18px}.finance-summary-card-header{gap:12px}.finance-summary-card-icon{border-radius:15px;width:44px;height:44px;font-size:23px}.finance-summary-card-icon svg{width:27px;height:27px}.finance-summary-card-title{font-size:16px}.finance-summary-card-subtitle{font-size:12px}.finance-summary-card-amount{margin-top:15px;font-size:clamp(22px,2.2vw,28px)}.finance-summary-card-arrow{font-size:24px}}.finance-summary-section{margin-bottom:24px}.finance-summary-toolbar{color:#858196;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:12px;font-weight:700;display:flex}.finance-summary-settings-button{color:#8052d9;cursor:pointer;background:#fffc;border:1px solid #8b5cf624;border-radius:12px;justify-content:center;align-items:center;width:34px;height:34px;font-size:19px;display:flex}.finance-summary-settings{background:#ffffffe0;border:1px solid #ffffffe6;border-radius:18px;gap:12px;margin-bottom:12px;padding:16px;display:grid;box-shadow:0 8px 24px #503c8212}.finance-summary-setting{color:#393548;align-items:center;gap:10px;font-size:14px;display:flex}.finance-summary-setting input{accent-color:#8b5cf6;width:17px;height:17px}.finance-summary-reset{color:#8052d9;font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;padding:5px 0;font-size:12px}.finance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.finance-summary-grid .finance-summary-card{border-radius:22px;min-width:0;min-height:145px;padding:14px}@media (width<=380px){.finance-summary-grid{gap:8px}.finance-summary-grid .finance-summary-card{border-radius:19px;min-height:132px;padding:11px}}.finance-summary-card.available{background:linear-gradient(135deg,#dcfce7f0,#f0fdf4e6)}.finance-summary-card.available .finance-summary-card-icon{color:#15803d;background:#22c55e24}.finance-summary-card.available .finance-summary-card-amount{color:#15803d}.finance-summary-card.balance{background:linear-gradient(135deg,#dbeafef0,#eff6ffe6)}.finance-summary-card.balance .finance-summary-card-icon{color:#2563eb;background:#3b82f621}.finance-summary-card.balance .finance-summary-card-amount{color:#2563eb}button.finance-list-row,button.finance-list-row-button,button.finance-income-row{appearance:none;width:100%;box-shadow:none;text-align:left;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:0;outline:0;margin:0;font-family:inherit}button.finance-list-row+button.finance-list-row,button.finance-list-row-button+button.finance-list-row-button,button.finance-income-row+button.finance-income-row{border-top:1px solid #645f7814}button.finance-list-row,button.finance-list-row-button,button.finance-income-row{border-bottom:0}.finance-list-total{border-top:1px solid #645f7814}.finance-tabs{gap:2px;scroll-padding:0 8px}.finance-tabs button{white-space:nowrap;flex:1 0 auto;padding:0 12px}@media (width<=380px){.finance-tabs button{padding:0 10px;font-size:11.5px}}
