/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--wine:#602437;--wine-dark:#441b2a;--pink:#ed96a6;--rose:#fcb4c5;--rose-soft:#fff1f4;--ink:#441b2a;--muted:#806d74;--line:#f2d9df;--paper:#fcfcf7;--sage:#f8e9ed}*{box-sizing:border-box}html{background:var(--rose)}body{color:var(--ink);background:radial-gradient(circle at 15% 12%,var(--paper) 0,transparent 34%),var(--rose);margin:0;font-family:Tahoma,Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}svg{width:22px;height:22px}.access-shell{background:radial-gradient(circle at 18% 10%,var(--paper),transparent 35%),linear-gradient(155deg,var(--rose),#f9dce3);place-items:center;min-height:100vh;padding:28px 16px;display:grid}.access-panel{text-align:center;background:#fcfcf7f7;border:1px solid #ffffffdb;border-radius:30px;width:min(100%,440px);padding:30px 26px 24px;box-shadow:0 24px 70px #4f182b2e}.access-logo{place-items:center;height:74px;margin-bottom:10px;display:grid}.access-logo img{object-fit:contain;background:0 0;width:118px;height:74px;display:block}.access-kicker{color:var(--wine);background:var(--rose-soft);border:1px solid var(--rose);border-radius:999px;padding:6px 10px;font-size:9px;font-weight:800;display:inline-flex}.access-panel h1{color:var(--wine-dark);margin:12px 0 7px;font-family:Georgia,Times New Roman,serif;font-size:31px}.access-intro{width:min(100%,340px);color:var(--muted);margin:0 auto 21px;font-size:11px;line-height:1.85}.paid-login-form{text-align:right;gap:12px;display:grid}.paid-login-form label{gap:6px;display:grid}.paid-login-form label span{color:#69575e;font-size:9px;font-weight:800}.paid-login-form input{border:1px solid var(--line);width:100%;color:var(--wine-dark);text-align:left;direction:ltr;background:#fff;border-radius:13px;outline:none;padding:13px 14px;font-size:11px}.paid-login-form input:focus{border-color:var(--pink);box-shadow:0 0 0 3px #fcb4c547}.paid-login-form button{color:#fff;background:linear-gradient(145deg,var(--wine),var(--wine-dark));border:0;border-radius:13px;margin-top:2px;padding:13px;font-size:11px;font-weight:800;box-shadow:0 10px 24px #6024372e}.paid-login-form button:disabled{opacity:.64;cursor:wait}.login-error{color:#903449;background:#fff0f3;border:1px solid #f3c7d0;border-radius:10px;margin:0;padding:9px 11px;font-size:9px;line-height:1.6}.paid-access-note{text-align:right;background:var(--rose-soft);border:1px solid var(--line);border-radius:14px;grid-template-columns:28px 1fr;align-items:start;gap:8px;margin-top:16px;padding:12px;display:grid}.paid-access-note span{font-size:15px}.paid-access-note p{color:#75656b;margin:0;font-size:8.5px;line-height:1.7}.paid-access-note b{color:var(--wine)}.buy-row{color:var(--muted);justify-content:center;align-items:center;gap:7px;margin-top:16px;font-size:9px;display:flex}.buy-row a{color:var(--wine);text-underline-offset:3px;font-weight:800}.app-shell{justify-content:center;min-height:100vh;padding:24px 14px;display:flex}.phone-stage{background:var(--paper);border:1px solid #ffffffb3;border-radius:30px;width:min(100%,460px);min-height:calc(100vh - 48px);padding-bottom:86px;position:relative;overflow:hidden;box-shadow:0 24px 70px #4f182b2b}.topbar{border-bottom:1px solid var(--line);z-index:8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fcfcf7f0;justify-content:space-between;align-items:center;height:82px;padding:0 18px;display:flex;position:sticky;top:0}.brand-lockup{color:var(--wine);align-items:center;gap:7px;min-width:0;font-size:12px;font-weight:800;display:flex}.brand-lockup img{object-fit:contain;flex:none;width:74px;height:70px}.brand-lockup>span{white-space:nowrap}.topbar-actions{align-items:center;gap:7px;display:flex}.owner-link{background:var(--rose-soft);color:var(--wine);border:1px solid var(--rose);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:7px 9px;font-size:8.5px;font-weight:800;text-decoration:none;display:flex}.owner-link svg{width:12px;height:12px}.icon-button{border:1px solid var(--line);width:39px;height:39px;color:var(--wine);background:#fff;border-radius:50%;place-items:center;display:grid;position:relative}.notification-dot{background:var(--pink);border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:5px;right:5px}.content-stack{gap:18px;padding:24px 20px 28px;display:grid}.greeting-row{justify-content:space-between;align-items:end;gap:12px;display:flex}.eyebrow{color:var(--muted);margin:0 0 5px;font-size:13px}.greeting-row h1{color:var(--wine-dark);letter-spacing:-.5px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:28px}.month-pill{border:1px solid var(--line);color:#675a5f;white-space:nowrap;background:#fff;border-radius:999px;padding:9px 12px;font-size:11px}.month-pill span{color:var(--wine);margin-right:3px}.balance-card{background:linear-gradient(145deg,var(--wine) 0%,var(--wine-dark) 100%);color:#fff;border-radius:24px;padding:20px;position:relative;overflow:hidden;box-shadow:0 14px 32px #60243740}.balance-card:after{content:"";border:1px solid #ffffff1a;border-radius:50%;width:145px;height:145px;position:absolute;top:-55px;left:-50px;box-shadow:0 0 0 24px #ffffff09}.balance-topline{color:#fce4ea;z-index:1;justify-content:space-between;align-items:center;font-size:12px;display:flex;position:relative}.tiny-status{color:#fff;background:#ffffff1f;border-radius:99px;align-items:center;gap:5px;padding:5px 8px;font-size:10px;display:flex}.tiny-status i{background:#bde2c8;border-radius:50%;width:6px;height:6px}.big-number{z-index:1;direction:rtl;margin:13px 0 16px;position:relative}.big-number b{letter-spacing:-1.5px;font-size:38px}.big-number span{color:#fce4ea;font-size:14px}.daily-budget{color:#fce4ea;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px;display:flex}.daily-budget strong{color:#fff;font-size:13px}.progress-track{background:#ffffff29;border-radius:99px;height:6px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--rose);height:100%;display:block}.balance-footnote{color:#f2cbd4;margin:8px 0 0;font-size:9.5px}.quick-grid{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.metric-card{border:1px solid var(--line);background:#fff;border-radius:18px;min-width:0;padding:12px 10px}.metric-icon{width:27px;height:27px;color:var(--wine);border-radius:9px;place-items:center;margin-bottom:10px;font-size:13px;display:grid}.metric-icon.rose{background:var(--rose)}.metric-icon.cream{background:var(--paper)}.metric-icon.sage{background:var(--sage)}.metric-card p{color:var(--muted);margin:0 0 5px;font-size:10px}.metric-card strong{color:var(--wine-dark);white-space:nowrap;font-size:12px;display:block}.metric-card small{color:#9a8e92;margin-top:4px;font-size:8.5px;display:block}.insight-card{background:var(--rose-soft);border:1px solid var(--rose);border-radius:22px;grid-template-columns:1fr 42px;align-items:start;gap:12px;padding:16px;display:grid}.insight-icon{background:var(--wine);color:#fff;border-radius:15px;grid-area:1/2;place-items:center;width:42px;height:42px;display:grid}.insight-card>div:nth-child(2){grid-area:1/1}.section-kicker{color:var(--wine);margin-bottom:4px;font-size:9px;font-weight:700}.insight-card h2{color:var(--wine-dark);margin:0 0 6px;font-size:14px}.insight-card p{color:#776a6f;margin:0;font-size:10px;line-height:1.7}.insight-card button{color:var(--wine);background:0 0;border:0;align-items:center;gap:3px;padding:9px 0 0;font-size:10px;font-weight:800;display:inline-flex}.insight-card button svg{width:13px;height:13px;transform:rotate(180deg)}.section-block{padding-top:4px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:10px;display:flex}.section-heading span{color:var(--wine);font-size:9px}.section-heading h2{color:var(--wine-dark);margin:3px 0 0;font-size:16px}.section-heading button{color:var(--wine);background:0 0;border:0;font-size:10px}.expense-list{border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden}.expense-row{grid-template-columns:46px minmax(0,1fr) auto 30px;align-items:center;gap:8px;padding:11px;display:grid}.expense-row+.expense-row{border-top:1px solid #f2eaec}.expense-emoji{background:#f8f1f3;border-radius:13px;place-items:center;width:40px;height:40px;font-size:17px;display:grid}.expense-row b{text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:11px;display:block;overflow:hidden}.expense-row small{color:var(--muted);font-size:8.5px}.expense-row strong{color:#573543;white-space:nowrap;direction:ltr;font-size:10px}.expense-edit{border:1px solid var(--line);width:28px;height:28px;color:var(--wine);background:var(--rose-soft);border-radius:9px;place-items:center;display:grid}.expense-edit svg{width:13px;height:13px}.empty-expenses{text-align:center;min-height:100px;color:var(--muted);align-content:center;place-items:center;gap:5px;padding:18px;display:grid}.empty-expenses span{color:var(--pink);font-size:20px;line-height:1}.empty-expenses p{margin:0;font-size:9px;line-height:1.6}.empty-expenses.compact{min-height:72px;padding:12px}.bottom-nav{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fcfcf7f5;grid-template-columns:repeat(4,1fr);height:74px;padding:8px 10px 7px;display:grid;position:absolute;bottom:0;left:0;right:0}.bottom-nav button{color:#a19599;background:0 0;border:0;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:8.5px;display:flex}.bottom-nav button svg{width:20px;height:20px}.bottom-nav button.active{color:var(--wine);background:#fcb4c547;font-weight:700}@media (width<=520px){html,body{background:var(--paper)}.app-shell{padding:0}.phone-stage{width:100%;min-height:100vh;box-shadow:none;border:0;border-radius:0}.bottom-nav{max-width:460px;margin:auto;position:fixed}}@media (width>=800px){.app-shell{padding:38px}.phone-stage{min-height:860px;max-height:900px;overflow-y:auto}.bottom-nav{position:sticky;bottom:0}}.page-enter{animation:.28s both page-in}@keyframes page-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.edit-plan{border:1px solid var(--line);color:var(--wine);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:5px;padding:8px 10px;font-size:10px;font-weight:700;display:flex}.edit-plan svg{width:13px;height:13px}.tiny-status.warning i{background:#f0c37f}.page-title h1{color:var(--wine-dark);margin:2px 0 6px;font-family:Georgia,Times New Roman,serif;font-size:29px}.page-title>p:last-child{color:var(--muted);margin:0;font-size:11px;line-height:1.7}.month-report-card{border:1px solid var(--line);background:#fff;border-radius:22px;padding:14px;box-shadow:0 8px 24px #441b2a0b}.month-selector{grid-template-columns:38px 1fr 38px;align-items:center;gap:9px;display:grid}.month-selector>button{border:1px solid var(--line);background:var(--rose-soft);width:38px;height:38px;color:var(--wine);border-radius:12px;place-items:center;font-size:17px;font-weight:800;display:grid}.month-selector>button:disabled{color:#c9bdc1;cursor:not-allowed;background:#faf7f8}.month-selector-title{text-align:right;justify-content:center;align-items:center;gap:9px;min-width:0;display:flex}.calendar-badge{background:var(--wine);color:#fff;border-radius:12px;flex:none;place-items:center;width:37px;height:37px;display:grid}.calendar-badge svg{width:17px;height:17px}.month-selector-title small{color:var(--muted);margin-bottom:3px;font-size:8px;display:block}.month-selector-title strong{color:var(--wine-dark);white-space:nowrap;font-size:13px;display:block}.month-report-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding-top:12px;display:flex}.month-report-footer>div{flex:none;gap:3px;display:grid}.month-report-footer span{color:var(--muted);font-size:8px}.month-report-footer b{color:var(--wine-dark);font-size:12px}.pdf-export{color:#fff;background:var(--wine);border:0;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:10px 12px;font-size:9px;font-weight:800;display:flex;box-shadow:0 7px 18px #60243724}.pdf-export svg{width:15px;height:15px}.pdf-export:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.report-message{background:var(--rose-soft);border:1px solid var(--line);border-radius:11px;margin:-8px 2px 0;padding:9px 11px}.past-month-note{background:#f8f3e9;border:1px solid #eaddc8;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.past-month-note b{color:#73531e;font-size:10px}.past-month-note p{color:#8c7c61;margin:4px 0 0;font-size:8px;line-height:1.6}.past-month-note button{color:#73531e;background:#fff;border:1px solid #dcc8a7;border-radius:10px;flex:none;padding:8px 9px;font-size:8px;font-weight:800}.spending-overview{background:linear-gradient(145deg,var(--paper),var(--rose-soft));border:1px solid var(--rose);border-radius:22px;align-items:center;gap:18px;padding:18px;display:flex}.donut{border-radius:50%;flex:none;place-items:center;width:112px;height:112px;display:grid;position:relative}.donut:after{content:"";background:var(--paper);border-radius:50%;width:82px;height:82px;position:absolute}.donut>div{z-index:1;text-align:center;position:relative}.donut strong{color:var(--wine-dark);font-size:18px;display:block}.donut small{color:var(--muted);margin-top:2px;font-size:8px;display:block}.overview-copy>span{color:var(--muted);font-size:10px}.overview-copy>strong{color:var(--wine-dark);margin:4px 0 9px;font-size:20px;display:block}.overview-copy p{color:#786b70;margin:0;font-size:9px;line-height:1.6}.overview-copy p b{color:var(--wine)}.add-expense-card,.category-card,.simulator-form,.goal-kind-card,.profile-card,.settings-list{border:1px solid var(--line);background:#fff;border-radius:20px;padding:15px}.quick-add-row{direction:rtl;grid-template-columns:1fr 91px 38px;gap:7px;display:grid}.quick-add-row>input,.amount-input{border:1px solid var(--line);background:#fdf9fa;border-radius:11px;min-width:0}.quick-add-row>input{outline:none;padding:10px;font-size:10px}.quick-add-row>input:focus,.amount-input:focus-within{border-color:var(--pink);box-shadow:0 0 0 3px #fcb4c547}.amount-input{align-items:center;padding:0 8px;display:flex}.amount-input input{text-align:right;direction:ltr;background:0 0;border:0;outline:none;width:100%;min-width:0;font-size:10px}.amount-input span{color:var(--muted);white-space:nowrap;font-size:8px}.quick-add-row>button{background:var(--wine);color:#fff;border:0;border-radius:11px;place-items:center;display:grid}.quick-add-row>button svg{width:17px;height:17px}.quick-add-row>button:disabled{opacity:.62;cursor:wait}.auto-category{color:var(--muted);align-items:center;gap:5px;margin:10px 2px 0;font-size:8px;line-height:1.5;display:flex}.auto-category svg{width:13px;height:13px;color:var(--pink);flex:none}.auto-category b{color:var(--wine)}.expense-message{color:var(--wine);margin:9px 0 0;font-size:8px;line-height:1.5}.category-row{grid-template-columns:38px 1fr auto;align-items:center;gap:9px;padding:9px 0;display:grid}.category-row+.category-row{border-top:1px solid #f4edef}.category-dot{background:#eee;border-radius:11px;place-items:center;width:34px;height:34px;font-size:14px;display:grid}.category-row b{color:#4b363e;margin-bottom:6px;font-size:10px;display:block}.category-row>strong{color:#5e4750;font-size:9px}.category-track{background:#f1e8eb;border-radius:99px;height:4px;overflow:hidden}.category-track span{border-radius:inherit;min-width:4px;height:100%;display:block}.simulator-form{gap:18px;padding:18px;display:grid}.simulator-form>label{color:#604d54;font-size:10px;font-weight:700}.large-input{border-bottom:1px solid var(--line);align-items:end;gap:7px;margin-top:8px;padding-bottom:8px;display:flex}.large-input input{width:100%;color:var(--wine-dark);text-align:right;direction:ltr;background:0 0;border:0;outline:none;font-size:32px;font-weight:800}.large-input span{color:var(--muted);padding-bottom:5px;font-size:11px}.choice-row{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:9px;display:grid}.choice-row button{border:1px solid var(--line);color:#7b6d72;background:#fdfafb;border-radius:12px;padding:10px 5px;font-size:9px}.choice-row button.selected{border-color:var(--wine);color:#fff;background:var(--wine);font-weight:700}.goal-kind-card{padding:15px}.goal-name-card .section-heading{margin-bottom:8px}.goal-name-input{border:1px solid var(--line);width:100%;height:46px;color:var(--wine-dark);background:#fdf9fa;border-radius:13px;outline:none;padding:0 12px;font-size:10px}.goal-name-input:focus{border-color:var(--pink);box-shadow:0 0 0 3px #fcb4c540}.goal-form{gap:15px}.goal-item-builder{gap:10px}.goal-item-builder .section-heading{margin-bottom:0}.goal-item-add{grid-template-columns:minmax(0,1fr) 100px 42px;gap:7px;display:grid}.goal-item-add>input,.goal-item-add>.amount-input{border:1px solid var(--line);background:#fdf9fa;border-radius:12px;min-width:0;height:44px}.goal-item-add>input{color:var(--wine-dark);outline:none;padding:0 11px;font-size:10px}.goal-item-add>input:focus,.goal-item-add>.amount-input:focus-within{border-color:var(--pink);box-shadow:0 0 0 3px #fcb4c540}.goal-item-add>button{background:var(--wine);color:#fff;border:0;border-radius:12px;place-items:center;display:grid}.goal-item-add>button svg{width:18px;height:18px}.goal-item-add>button:disabled{opacity:.42;cursor:not-allowed}.goal-examples{color:var(--muted);margin:0;font-size:8px;line-height:1.7}.goal-items-card{border:1px solid var(--line);background:#fff;border-radius:20px;padding:15px}.goal-items-head{justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.goal-items-head span{color:var(--muted);font-size:9px}.goal-items-head b{color:var(--wine);font-size:11px}.goal-item-list{border-top:1px solid var(--line)}.goal-item-row{justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.goal-item-row+.goal-item-row{border-top:1px solid #f3eaed}.goal-item-row>div{min-width:0}.goal-item-row b{color:var(--wine-dark);text-overflow:ellipsis;white-space:nowrap;font-size:10px;display:block;overflow:hidden}.goal-item-row span{color:var(--muted);margin-top:3px;font-size:8px;display:block}.goal-item-row button{color:#96394e;background:#fff7f8;border:1px solid #efc7d0;border-radius:10px;flex:none;place-items:center;width:31px;height:31px;display:grid}.goal-item-row button svg{width:14px;height:14px}.goal-items-empty{border-top:1px solid var(--line);min-height:74px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:4px;padding:12px;display:grid}.goal-items-empty span{color:var(--pink);font-size:19px;line-height:1}.goal-items-empty p{margin:0;font-size:8px;line-height:1.6}.goal-form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.goal-field{min-width:0}.goal-field.wide{grid-column:1/-1}.goal-field>span{color:#604d54;margin-bottom:6px;font-size:9px;font-weight:700;display:block}.goal-field>div{border:1px solid var(--line);background:#fdf9fa;border-radius:12px;align-items:center;gap:5px;min-width:0;height:44px;padding:0 10px;display:flex}.goal-field>div:focus-within{border-color:var(--pink);box-shadow:0 0 0 3px #fcb4c540}.goal-field input{text-align:right;width:100%;min-width:0;color:var(--wine-dark);direction:ltr;background:0 0;border:0;outline:none;font-size:13px;font-weight:800}.goal-field em{color:var(--muted);white-space:nowrap;font-size:8px;font-style:normal}.decision-card{color:#fff;border-radius:23px;padding:20px;position:relative;overflow:hidden}.decision-card.safe{background:linear-gradient(145deg,var(--wine),var(--wine-dark))}.decision-card.caution{background:linear-gradient(145deg,#8b5f33,#67421f)}.decision-card.danger{background:linear-gradient(145deg,#9b4053,var(--wine))}.decision-card.idle{background:linear-gradient(145deg,#75666b,#54494d)}.decision-badge{background:#ffffff24;border-radius:99px;align-items:center;gap:5px;padding:6px 9px;font-size:9px;display:inline-flex}.decision-badge svg{width:12px;height:12px}.decision-card h2{margin:15px 0 6px;font-size:27px}.decision-card>p{color:#ffffffc7;margin:0;font-size:10px;line-height:1.75}.decision-comparison{border-top:1px solid #ffffff2b;grid-template-columns:1fr 24px 1fr;align-items:center;margin-top:17px;padding-top:14px;display:grid}.decision-comparison div{gap:4px;display:grid}.decision-comparison span{color:#ffffffa6;font-size:8px}.decision-comparison b{font-size:12px}.decision-comparison i{text-align:center;color:#ffffff8c;font-style:normal}.goal-result>small{color:#ffffffa8;margin:13px 0 -7px;font-size:8px;display:block}.goal-result-grid{border-top:1px solid #ffffff2b;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px;padding-top:14px;display:grid}.goal-result-grid div{gap:4px;min-width:0;display:grid}.goal-result-grid span{color:#ffffffa6;font-size:7.5px}.goal-result-grid b{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.gentle-note{background:#f6f1e8;border:1px solid #eaddc8;border-radius:18px;grid-template-columns:1fr 31px;gap:10px;padding:15px;display:grid}.gentle-note>svg{color:#8b692e;grid-area:1/2;width:23px}.gentle-note>div{grid-area:1/1}.gentle-note b{color:#73531e;font-size:10px}.gentle-note p{color:#7d6d51;margin:4px 0 0;font-size:9px;line-height:1.7}.primary-button{background:var(--wine);color:#fff;border:0;border-radius:14px;justify-content:center;align-items:center;gap:7px;width:100%;padding:13px 16px;font-size:11px;font-weight:800;display:flex;box-shadow:0 9px 22px #6024372e}.primary-button svg{width:17px;height:17px}.primary-button .arrow{transform:rotate(180deg)}.primary-button:disabled{opacity:.58;cursor:not-allowed;box-shadow:none}.profile-card{grid-template-columns:50px 1fr auto;align-items:center;gap:11px;display:grid}.avatar{background:linear-gradient(145deg,var(--wine),var(--wine-dark));color:#fff;border-radius:16px;place-items:center;width:48px;height:48px;font-size:17px;font-weight:800;display:grid}.profile-card b{color:var(--wine-dark);font-size:12px;display:block}.profile-card div span{color:var(--muted);text-align:right;direction:ltr;margin-top:4px;font-size:8.5px;display:block}.active-plan{color:var(--wine);background:var(--rose-soft);border-radius:99px;padding:6px 9px;font-size:8px;font-weight:700}.access-card{color:#fff;background:linear-gradient(145deg,var(--wine),var(--wine-dark));border-radius:22px;padding:18px}.access-head{align-items:center;gap:11px;display:flex}.shield-box{background:#ffffff1f;border-radius:14px;place-items:center;width:42px;height:42px;display:grid}.shield-box svg{width:22px}.access-head span{color:#f2cbd4;font-size:8px}.access-head h2{margin:4px 0 0;font-size:13px}.access-meta{border-top:1px solid #ffffff26;grid-template-columns:1fr 1fr;margin-top:15px;padding-top:13px;display:grid}.access-meta div{gap:4px;display:grid}.access-meta span{color:#f2cbd4;font-size:8px}.access-meta b{font-size:10px}.access-meta div+div{border-right:1px solid #ffffff24;padding-right:17px}.settings-list{padding:3px 14px}.settings-list button{text-align:right;color:#4a343d;background:0 0;border:0;grid-template-columns:38px 1fr 18px;align-items:center;gap:8px;width:100%;padding:12px 0;display:grid}.settings-list button+button{border-top:1px solid #f0e7ea}.setting-icon{width:34px;height:34px;color:var(--wine);background:#faeff3;border-radius:11px;place-items:center;display:grid}.setting-icon svg{width:17px}.settings-list b{font-size:10px;display:block}.settings-list small{color:var(--muted);margin-top:4px;font-size:8px;display:block}.settings-list button>svg{color:#b4a7ab;width:15px;transform:rotate(180deg)}.privacy-note{color:#5d7465;background:#edf3ef;border-radius:17px;grid-template-columns:1fr 28px;align-items:start;gap:8px;padding:14px;display:grid}.privacy-note>svg{grid-area:1/2;width:21px}.privacy-note p{grid-area:1/1;margin:0;font-size:8.5px;line-height:1.7}.modal-layer{z-index:40;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#25111985;border:0;position:absolute;inset:0}.bottom-sheet{background:var(--paper);border-radius:28px 28px 0 0;width:100%;max-height:86%;padding:12px 20px 22px;animation:.3s both sheet-up;position:relative;overflow-y:auto;box-shadow:0 -20px 50px #34101e2e}.sheet-handle{background:#d9cbd0;border-radius:99px;width:43px;height:4px;margin:0 auto 16px}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}.sheet-title{justify-content:space-between;align-items:start;margin-bottom:16px;display:flex}.sheet-title span{color:var(--wine);font-size:8px}.sheet-title h2{color:var(--wine-dark);margin:4px 0 0;font-size:19px}.sheet-title>button,.login-close{border:1px solid var(--line);color:var(--wine);background:#fff;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.sheet-title>button svg,.login-close svg{width:16px}.field-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.sheet-field>span{color:#796a70;margin-bottom:5px;font-size:8px;display:block}.sheet-field>div{border:1px solid var(--line);background:#fdf9fa;border-radius:11px;align-items:center;gap:4px;padding:9px;display:flex}.sheet-field input{text-align:right;width:100%;min-width:0;color:var(--wine-dark);direction:ltr;background:0 0;border:0;outline:none;font-size:11px;font-weight:700}.sheet-field em{color:var(--muted);white-space:nowrap;font-size:7.5px;font-style:normal}.report-score{background:#faf1f4;border-radius:18px;grid-template-columns:78px 1fr;align-items:center;gap:13px;padding:14px;display:grid}.score-ring{border:7px solid #e8c8d2;border-top-color:var(--wine);border-radius:50%;align-content:center;place-items:center;width:72px;height:72px;display:grid;transform:rotate(-25deg)}.score-ring>*{transform:rotate(25deg)}.score-ring strong{color:var(--wine);font-size:19px;line-height:1}.score-ring span{color:var(--muted);margin-top:3px;font-size:7px}.report-score>div:last-child b{color:var(--wine-dark);font-size:11px}.report-score>div:last-child p{color:var(--muted);margin:5px 0 0;font-size:8.5px;line-height:1.6}.report-points{margin:13px 0}.report-points article{grid-template-columns:31px 1fr;gap:8px;padding:10px 0;display:grid}.report-points article+article{border-top:1px solid var(--line)}.report-points article>span{color:#b6758a;font-family:Georgia,serif;font-size:12px}.report-points b{color:#4f3841;font-size:9.5px}.report-points p{color:var(--muted);margin:4px 0 0;font-size:8px;line-height:1.6}.disclaimer{text-align:center;color:#a09297;margin-top:9px;font-size:7px;display:block}.login-sheet{background:var(--paper);text-align:center;border-radius:26px;width:calc(100% - 30px);margin:auto;padding:25px 22px;animation:.25s both login-in;position:relative}.modal-layer:has(.login-sheet){align-items:center}.login-close{position:absolute;top:14px;left:14px}.login-brand{color:var(--wine);justify-content:center;align-items:center;gap:9px;margin-bottom:14px;display:flex}.login-brand img{object-fit:contain;width:116px;height:108px}.login-sheet h2{color:var(--wine-dark);margin:0 0 7px;font-family:Georgia,serif;font-size:22px}.login-sheet>p{color:var(--muted);max-width:260px;margin:0 auto 17px;font-size:9.5px;line-height:1.7}.login-sheet>p b{direction:ltr;display:inline-block}.expense-edit-sheet{padding-bottom:24px}.expense-edit-fields{grid-template-columns:1fr 110px;gap:9px;margin-bottom:4px;display:grid}.expense-edit-fields label>span{color:#796a70;margin-bottom:5px;font-size:8px;display:block}.expense-edit-fields label>input{border:1px solid var(--line);width:100%;height:42px;color:var(--wine-dark);background:#fdf9fa;border-radius:11px;outline:none;padding:0 10px;font-size:10px}.edit-amount{height:42px}.edit-auto-category{margin:11px 2px 15px}.delete-expense{color:#96394e;background:#fff7f8;border:1px solid #efc7d0;border-radius:13px;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:9px;padding:11px;font-size:9px;font-weight:800;display:flex}.delete-expense svg{width:15px;height:15px}.delete-expense.confirm{color:#fff;background:#96394e;border-color:#96394e}.delete-expense:disabled{opacity:.6;cursor:wait}@keyframes login-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.login-field{text-align:right;margin-bottom:12px;display:block}.login-field span{color:#69575e;margin-bottom:5px;font-size:8px;display:block}.login-field input{border:1px solid var(--line);text-align:left;color:#4b343d;direction:ltr;border-radius:12px;outline:none;width:100%;padding:12px;font-size:10px}.login-field input:focus{border-color:var(--pink);box-shadow:0 0 0 3px #fcb4c547}.sent-icon{background:var(--rose-soft);border-radius:15px;place-items:center;width:48px;height:48px;margin:0 auto 14px;font-size:18px;display:grid}.otp-row{direction:ltr;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:14px;display:grid}.otp-row input{border:1px solid var(--line);text-align:center;width:100%;min-width:0;height:42px;color:var(--wine);border-radius:10px;outline:none;font-weight:800}.text-button{color:var(--wine);background:0 0;border:0;margin-top:10px;font-size:8px}@media (width<=520px){.modal-layer{position:fixed}.content-stack{padding-bottom:98px}.bottom-nav{z-index:20}.login-sheet{max-width:420px}}@media (width<=360px){.month-report-footer{flex-direction:column;align-items:stretch}.month-report-footer>div{grid-template-columns:auto auto;justify-content:space-between;align-items:center}.pdf-export{width:100%}.past-month-note{flex-direction:column;align-items:stretch}.past-month-note button{width:100%}}.owner-shell{background:linear-gradient(180deg,var(--rose-soft),var(--paper) 280px);min-height:100vh;color:var(--ink);padding:34px max(20px,50vw - 480px) 130px}.owner-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;display:flex}.owner-header h1{color:var(--wine-dark);margin:8px 0 6px;font-size:31px}.owner-header p{color:var(--muted);margin:0;font-size:13px;line-height:1.7}.owner-header>a{color:#fff;background:var(--wine);border-radius:13px;flex:none;padding:11px 15px;font-size:11px;font-weight:800;text-decoration:none;box-shadow:0 8px 22px #60243729}.owner-badge{border:1px solid var(--rose);color:var(--wine);background:#fcb4c53d;border-radius:999px;padding:6px 10px;font-size:9px;font-weight:800;display:inline-flex}.owner-identity{color:#fff;background:linear-gradient(145deg,var(--wine),var(--wine-dark));border-radius:19px;grid-template-columns:50px 1fr auto;align-items:center;gap:11px;margin-bottom:18px;padding:14px 16px;display:grid;box-shadow:0 14px 32px #6024372e}.owner-avatar{background:#ffffff21;border-radius:15px;place-items:center;width:48px;height:48px;font-size:18px;font-weight:800;display:grid}.owner-identity b{font-size:12px;display:block}.owner-identity span{text-align:right;color:#f2cbd4;direction:ltr;margin-top:4px;font-size:9px;display:block}.owner-identity i{background:#ffffff21;border-radius:99px;padding:7px 10px;font-size:8px;font-style:normal;font-weight:700}.owner-card{border:1px solid var(--line);background:#ffffffe0;border-radius:22px;margin-bottom:15px;padding:20px;box-shadow:0 10px 30px #441b2a0d}.owner-section-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:18px;margin-bottom:15px;padding-bottom:14px;display:flex}.owner-section-title span{color:var(--wine);font-size:8px;font-weight:800}.owner-section-title h2{color:var(--wine-dark);margin:3px 0 0;font-size:17px}.owner-section-title small{color:var(--muted);font-size:9px;line-height:1.5}.owner-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.owner-fields label,.owner-colors label{gap:6px;display:grid}.owner-fields label.wide{grid-column:1/-1}.owner-fields label>span,.owner-colors label>span{color:#67545b;font-size:9px;font-weight:700}.owner-fields input,.owner-fields textarea,.owner-colors input{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--wine-dark);resize:vertical;border-radius:11px;outline:none;padding:11px 12px;font-size:11px}.owner-fields input:focus,.owner-fields textarea:focus,.owner-colors input:focus{border-color:var(--pink);box-shadow:0 0 0 3px #fcb4c53d}.owner-colors{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.owner-colors label>div{grid-template-columns:42px 1fr;gap:6px;display:grid}.owner-colors input[type=color]{cursor:pointer;height:40px;padding:3px}.owner-colors input:not([type=color]){text-align:center;text-transform:uppercase;direction:ltr;padding:8px 5px;font-size:8px}.subscription-create{grid-template-columns:1fr 1.25fr 1fr auto;align-items:end;gap:9px;display:grid}.subscription-create label{gap:6px;display:grid}.subscription-create label span{color:#67545b;font-size:9px;font-weight:700}.subscription-create input{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--wine-dark);border-radius:11px;outline:none;padding:10px 11px;font-size:10px}.subscription-create button{background:var(--wine);color:#fff;white-space:nowrap;border:0;border-radius:11px;padding:11px 14px;font-size:9px;font-weight:800}.subscription-create button:disabled,.subscription-actions button:disabled{opacity:.55;cursor:wait}.subscription-message{color:var(--wine);margin:11px 0 0;font-size:9px}.subscription-list{gap:8px;margin-top:14px;display:grid}.subscription-list article{border:1px solid var(--line);background:var(--paper);border-radius:14px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:11px 12px;display:grid}.subscription-list article b,.subscription-list article span,.subscription-list article small{display:block}.subscription-list article b{color:var(--wine-dark);font-size:10px}.subscription-list article span{text-align:right;color:var(--muted);direction:ltr;margin-top:3px;font-size:8px}.subscription-list article small{color:#9a8e92;margin-top:3px;font-size:8px}.subscription-list article>i{border-radius:999px;padding:5px 8px;font-size:8px;font-style:normal;font-weight:800}.subscription-list article>i.active{color:#39704c;background:#e6f5eb}.subscription-list article>i.revoked{color:#96394e;background:#fde9ed}.subscription-actions{gap:5px;display:flex}.subscription-actions button{border:1px solid var(--line);color:var(--wine);background:#fff;border-radius:8px;padding:7px 8px;font-size:8px;font-weight:700}.subscription-empty{border:1px dashed var(--line);text-align:center;color:var(--muted);border-radius:12px;margin:0;padding:15px;font-size:9px}.owner-savebar{z-index:30;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fcfcf7f2;justify-content:space-between;align-items:center;gap:18px;padding:13px max(20px,50vw - 480px);display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 32px #441b2a14}.owner-savebar>div{align-items:center;gap:12px;display:flex}.owner-savebar p{color:var(--muted);margin:0;font-size:9px}.owner-savebar p.saved{color:#447154}.owner-savebar p.error{color:#973a4b}.owner-save,.owner-reset{cursor:pointer;border-radius:12px;padding:11px 15px;font-size:10px;font-weight:800}.owner-save{background:var(--wine);color:#fff;border:0;min-width:165px;box-shadow:0 8px 20px #60243726}.owner-save:disabled{opacity:.62;cursor:wait}.owner-reset{border:1px solid var(--line);color:var(--wine);background:#fff}.owner-forbidden{border:1px solid var(--line);text-align:center;background:#fff;border-radius:24px;width:min(100%,520px);margin:12vh auto 0;padding:30px;box-shadow:0 20px 60px #441b2a1a}.owner-forbidden span{color:var(--wine);font-size:9px;font-weight:800}.owner-forbidden h1{color:var(--wine-dark);margin:8px 0}.owner-forbidden p{color:var(--muted);font-size:11px}.owner-forbidden a{color:#fff;background:var(--wine);border-radius:11px;margin-top:10px;padding:10px 14px;font-size:10px;font-weight:800;text-decoration:none;display:inline-block}@media (width<=720px){.owner-shell{padding:24px 14px 126px}.owner-header{display:grid}.owner-header>a{justify-self:start}.owner-header h1{font-size:26px}.owner-card{padding:16px}.owner-fields{grid-template-columns:1fr}.owner-fields label.wide{grid-column:auto}.owner-colors{grid-template-columns:1fr 1fr}.owner-section-title{align-items:start}.owner-section-title small{max-width:130px}.owner-savebar{align-items:stretch;padding:10px 14px}.owner-savebar>div{justify-items:end;display:grid}.owner-savebar p{text-align:left;max-width:180px}.owner-save,.owner-reset{min-width:0;padding:10px 11px}.owner-identity{grid-template-columns:44px 1fr auto}.owner-avatar{width:42px;height:42px}.subscription-create{grid-template-columns:1fr 1fr}.subscription-create button{grid-column:1/-1}.subscription-list article{grid-template-columns:minmax(0,1fr) auto}.subscription-actions{grid-column:1/-1}.subscription-actions button{flex:1}}@media (width<=380px){.owner-link{padding:8px;font-size:0}.owner-link svg{width:14px;height:14px}.owner-colors{grid-template-columns:1fr}.owner-savebar{gap:8px}.owner-savebar p{display:none}}
