:root{--color-bg:#f9f5f0;--color-surface:#fff;--color-surface-alt:#fdf9f5;--color-border:#e8ddd3;--color-border-light:#f0e8e0;--color-text:#2c2420;--color-text-secondary:#7a6860;--color-text-disabled:#b8a89e;--color-accent:#c17f52;--color-accent-dark:#a5673e;--color-accent-light:#f2e4d6;--color-positive:#5c8f6a;--color-positive-light:#dff0e5;--color-negative:#c25e4e;--color-negative-light:#fbe8e5;--color-progress-bg:#eedfd2;--color-progress-fill:#c17f52;--radius-sm:6px;--radius-md:12px;--radius-lg:18px;--radius-full:9999px;--shadow-card:0 2px 12px #2c242014;--shadow-dialog:0 8px 40px #2c24202e;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--font-family:"Nunito",system-ui,-apple-system,sans-serif;--font-size-sm:0.8125rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.5rem;--font-size-2xl:2rem}*,:after,:before{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;background-color:#f9f5f0;background-color:var(--color-bg);color:#2c2420;color:var(--color-text);font-family:Nunito,system-ui,-apple-system,sans-serif;font-family:var(--font-family);font-size:1rem;font-size:var(--font-size-base);margin:0;padding:0}#root{margin:0 auto;max-width:480px;min-height:100vh;padding:16px 16px 32px;padding:var(--space-md) var(--space-md) var(--space-xl)}h1,h2,h3,h4{font-family:Nunito,system-ui,-apple-system,sans-serif;font-family:var(--font-family);margin:0;text-align:center}h1{font-size:1.5rem;font-size:var(--font-size-xl);font-weight:700}h2{font-weight:700}h2,h3{font-size:1.125rem;font-size:var(--font-size-lg)}h3,h4{font-weight:600}h4{font-size:1rem;font-size:var(--font-size-base)}.card{background:#fff;background:var(--color-surface);border-radius:18px;border-radius:var(--radius-lg);box-shadow:0 2px 12px #2c242014;box-shadow:var(--shadow-card);overflow:hidden}.card-header{align-items:center;border-bottom:1px solid #f0e8e0;border-bottom:1px solid var(--color-border-light);display:flex;gap:8px;gap:var(--space-sm);justify-content:center;padding:16px 16px 8px;padding:var(--space-md) var(--space-md) var(--space-sm)}.card-body{padding:8px 0;padding:var(--space-sm) 0}button{border:none;border-radius:6px;border-radius:var(--radius-sm);cursor:pointer;font-family:Nunito,system-ui,-apple-system,sans-serif;font-family:var(--font-family);font-size:1rem;font-size:var(--font-size-base);font-weight:600;line-height:1;padding:8px 16px;padding:var(--space-sm) var(--space-md);transition:background-color .15s ease,transform .1s ease}button:active{transform:scale(.96)}.btn-icon{align-items:center;background:#f2e4d6;background:var(--color-accent-light);border-radius:9999px;border-radius:var(--radius-full);color:#a5673e;color:var(--color-accent-dark);display:inline-flex;flex-shrink:0;font-size:1.1rem;height:36px;justify-content:center;padding:0;width:36px}.btn-icon:hover{background:#c17f52;background:var(--color-accent);color:#fff}.btn-icon-sm{align-items:center;background:#fbe8e5;background:var(--color-negative-light);border-radius:9999px;border-radius:var(--radius-full);color:#c25e4e;color:var(--color-negative);display:inline-flex;flex-shrink:0;font-size:.75rem;height:26px;justify-content:center;padding:0;width:26px}.btn-icon-sm:hover{background:#c25e4e;background:var(--color-negative);color:#fff}.btn-primary{background:#c17f52;background:var(--color-accent);border-radius:9999px;border-radius:var(--radius-full);color:#fff;font-size:1rem;font-size:var(--font-size-base);padding:8px 24px;padding:var(--space-sm) var(--space-lg)}.btn-primary:hover{background:#a5673e;background:var(--color-accent-dark)}.btn-ghost{background:#0000;border:1px solid #e8ddd3;border:1px solid var(--color-border);border-radius:9999px;border-radius:var(--radius-full);color:#7a6860;color:var(--color-text-secondary);padding:8px 24px;padding:var(--space-sm) var(--space-lg)}.btn-ghost:hover{background:#fdf9f5;background:var(--color-surface-alt);color:#2c2420;color:var(--color-text)}h1.no_bottom_space.center_spaced{background:#fff;background:var(--color-surface);border-radius:18px;border-radius:var(--radius-lg);box-shadow:0 2px 12px #2c242014;box-shadow:var(--shadow-card);color:#a5673e;color:var(--color-accent-dark);font-size:2rem;font-size:var(--font-size-2xl);margin:8px 0 0;margin:var(--space-sm) 0 0;padding:24px 16px;padding:var(--space-lg) var(--space-md)}#days_left,.recurring_totals{color:#7a6860;color:var(--color-text-secondary);font-size:.8125rem;font-size:var(--font-size-sm);font-weight:600;margin:4px 0 0;margin:var(--space-xs) 0 0;padding:0 16px;padding:0 var(--space-md);text-align:center}.hidden{display:none!important}.center_spaced{align-items:center;display:flex;justify-content:space-between}.no_bottom_space{margin-bottom:0}.space_right{margin-right:8px;margin-right:var(--space-sm)}#tx_title{align-items:center;border-bottom:1px solid #f0e8e0;border-bottom:1px solid var(--color-border-light);border-radius:18px 18px 0 0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;color:#2c2420;color:var(--color-text);display:flex;font-size:1.125rem;font-size:var(--font-size-lg);gap:8px;gap:var(--space-sm);justify-content:center;margin:24px 0 0;margin:var(--space-lg) 0 0;padding:16px;padding:var(--space-md) var(--space-md)}#tx_table,#tx_title{background:#fff;background:var(--color-surface);box-shadow:0 2px 12px #2c242014;box-shadow:var(--shadow-card)}#tx_table{border-radius:0 0 18px 18px;border-radius:0 0 var(--radius-lg) var(--radius-lg);margin:0;overflow:hidden}#tx_table,#tx_table tbody,#tx_table thead{display:block;width:100%}#tx_table tbody.limited_height{max-height:300px;overflow-y:auto}#tx_table tbody tr,#tx_table thead tr{align-items:center;display:flex;padding:0 16px;padding:0 var(--space-md);width:100%}#tx_table thead tr{background:#fdf9f5;background:var(--color-surface-alt);border-bottom:1px solid #e8ddd3;border-bottom:1px solid var(--color-border)}#tx_table tbody tr{border-bottom:1px solid #f0e8e0;border-bottom:1px solid var(--color-border-light);min-height:44px}#tx_table tbody tr:last-child{border-bottom:none}#tx_table tbody tr:hover{background:#fdf9f5;background:var(--color-surface-alt)}#tx_table td,#tx_table th{border:none;font-size:.8125rem;font-size:var(--font-size-sm);padding:8px 4px;padding:var(--space-sm) var(--space-xs)}#tx_table th{color:#7a6860;color:var(--color-text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}#tx_table td:first-child,#tx_table th:first-child{color:#7a6860;color:var(--color-text-secondary);flex-shrink:0;width:48px}#tx_table td:nth-child(2),#tx_table th:nth-child(2){color:#c25e4e;color:var(--color-negative);flex-shrink:0;font-size:.8125rem;font-size:var(--font-size-sm);font-weight:700;text-align:right;width:80px}#tx_table td:nth-child(3),#tx_table th:nth-child(3){align-items:center;display:flex;flex:1 1;gap:4px;gap:var(--space-xs);min-width:0;padding-left:8px;padding-left:var(--space-sm)}.small_cell{cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#goal_title+table td:first-child>div,#tx_table td:nth-child(3)>div{cursor:pointer;flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#goal_title{align-items:center;border-bottom:1px solid #f0e8e0;border-bottom:1px solid var(--color-border-light);border-radius:18px 18px 0 0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;color:#2c2420;color:var(--color-text);display:flex;font-size:1.125rem;font-size:var(--font-size-lg);gap:8px;gap:var(--space-sm);justify-content:center;margin:24px 0 0;margin:var(--space-lg) 0 0;padding:16px;padding:var(--space-md) var(--space-md)}#goal_title,#goal_title+table{background:#fff;background:var(--color-surface);box-shadow:0 2px 12px #2c242014;box-shadow:var(--shadow-card)}#goal_title+table{border-radius:0 0 18px 18px;border-radius:0 0 var(--radius-lg) var(--radius-lg);display:block;margin:0;overflow:hidden;width:100%}#goal_title+table tbody tr{align-items:center;border-bottom:1px solid #f0e8e0;border-bottom:1px solid var(--color-border-light);display:flex;min-height:56px;padding:8px 16px;padding:var(--space-sm) var(--space-md)}#goal_title+table tbody tr:last-child{border-bottom:none}#goal_title+table td{border:none;padding:4px;padding:var(--space-xs) var(--space-xs);vertical-align:middle}#goal_title+table td:first-child{align-items:center;display:flex;flex-shrink:0;font-size:.8125rem;font-size:var(--font-size-sm);font-weight:600;gap:4px;gap:var(--space-xs);max-width:110px;min-width:90px}#goal_title+table td:nth-child(2){flex:1 1;padding:0 8px;padding:0 var(--space-sm)}#goal_title+table td:nth-child(3){flex-shrink:0}.goal_display_total td{background:#fdf9f5;background:var(--color-surface-alt);border-top:2px solid #e8ddd3;border-top:2px solid var(--color-border)}.goal_display_total>td{border-bottom:none}.goal_progress{background-color:#eedfd2;background-color:var(--color-progress-bg);border-radius:9999px;border-radius:var(--radius-full);height:20px;overflow:hidden;position:relative;width:100%}.goal_progress:before{color:#2c2420;color:var(--color-text);content:attr(data-label);font-size:.7rem;font-weight:700;left:0;overflow:hidden;padding:0 4px;padding:0 var(--space-xs);position:absolute;right:0;text-align:center;text-overflow:ellipsis;top:50%;transform:translateY(-50%);white-space:nowrap;z-index:1}.goal_progress .value{background-color:#c17f52;background-color:var(--color-progress-fill);border-radius:9999px;border-radius:var(--radius-full);display:block;height:100%;transition:width .4s ease}h3.sub_title{border-bottom:1px solid #f0e8e0;border-bottom:1px solid var(--color-border-light);color:#7a6860;color:var(--color-text-secondary);font-size:.8125rem;font-size:var(--font-size-sm);font-weight:600;letter-spacing:.03em;padding:8px 16px;padding:var(--space-sm) var(--space-md);text-align:left;text-transform:uppercase}h3.sub_title,h3.sub_title+table{background:#fff;background:var(--color-surface);margin:0}h3.sub_title+table{border-radius:0 0 18px 18px;border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:0 2px 12px #2c242014;box-shadow:var(--shadow-card);display:block;overflow:hidden;width:100%}h3.sub_title+table td{border-bottom:1px solid #f0e8e0;border-bottom:1px solid var(--color-border-light);border-top:none;font-size:.8125rem;font-size:var(--font-size-sm);padding:8px 16px;padding:var(--space-sm) var(--space-md)}h3.sub_title+table tr:last-child td{border-bottom:none}h3.sub_title+table input[type=checkbox]{accent-color:#c17f52;accent-color:var(--color-accent);cursor:pointer;height:16px;margin-right:8px;margin-right:var(--space-sm);vertical-align:middle;width:16px}#chart{display:block;margin:16px auto 0;margin:var(--space-md) auto 0;max-width:100%}.chart-wrapper{background:#fff;background:var(--color-surface);border-radius:18px;border-radius:var(--radius-lg);box-shadow:0 2px 12px #2c242014;box-shadow:var(--shadow-card);margin-top:24px;margin-top:var(--space-lg);overflow:hidden;padding:16px;padding:var(--space-md)}.tools-link{margin-top:8px;margin-top:var(--space-sm);text-align:center}.tools-link a{color:#7a6860;color:var(--color-text-secondary);font-size:.8125rem;font-size:var(--font-size-sm);font-weight:600;text-decoration:none}.tools-link a:hover{color:#c17f52;color:var(--color-accent);text-decoration:underline}dialog{background:#fff;background:var(--color-surface);border:none;border-radius:18px;border-radius:var(--radius-lg);box-shadow:0 8px 40px #2c24202e;box-shadow:var(--shadow-dialog);display:flex;flex-direction:column;font-family:Nunito,system-ui,-apple-system,sans-serif;font-family:var(--font-family);gap:16px;gap:var(--space-md);max-width:400px;padding:32px 24px;padding:var(--space-xl) var(--space-lg);width:calc(100vw - 48px)}dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#2c242073}.form_title{color:#2c2420;color:var(--color-text);font-size:1.125rem;font-size:var(--font-size-lg);margin:0 0 24px;margin:0 0 var(--space-lg);text-align:center}dialog input[type=number],dialog input[type=password],dialog input[type=text]{background:#fdf9f5;background:var(--color-surface-alt);border:1.5px solid #e8ddd3;border:1.5px solid var(--color-border);border-radius:12px;border-radius:var(--radius-md);box-sizing:border-box;color:#2c2420;color:var(--color-text);display:block;font-family:Nunito,system-ui,-apple-system,sans-serif;font-family:var(--font-family);font-size:1rem;font-size:var(--font-size-base);outline:none;padding:8px 16px;padding:var(--space-sm) var(--space-md);transition:border-color .15s ease;width:100%}dialog input[type=number]:focus,dialog input[type=text]:focus{background:#fff;background:var(--color-surface);border-color:#c17f52;border-color:var(--color-accent)}dialog input:disabled{background:#f9f5f0;background:var(--color-bg);color:#b8a89e;color:var(--color-text-disabled)}dialog br{display:none}dialog>h3~input,dialog>input{margin-bottom:16px;margin-bottom:var(--space-md)}dialog>button{flex:1 1}dialog>button:first-of-type{background:#c17f52;background:var(--color-accent);border-radius:9999px;border-radius:var(--radius-full);color:#fff;font-size:1rem;font-size:var(--font-size-base);font-weight:700;padding:8px 24px;padding:var(--space-sm) var(--space-lg)}dialog>button:first-of-type:hover{background:#a5673e;background:var(--color-accent-dark)}dialog>button:last-of-type{background:#0000;border:1.5px solid #e8ddd3;border:1.5px solid var(--color-border);border-radius:9999px;border-radius:var(--radius-full);color:#7a6860;color:var(--color-text-secondary);font-size:1rem;font-size:var(--font-size-base);padding:8px 24px;padding:var(--space-sm) var(--space-lg)}dialog>button:last-of-type:hover{background:#fdf9f5;background:var(--color-surface-alt);color:#2c2420;color:var(--color-text)}#form-container{align-items:center;display:flex;justify-content:center;margin:0;min-height:100vh;padding:16px;padding:var(--space-md)}#form-container fieldset{background:#fff;background:var(--color-surface);border:none;border-radius:18px;border-radius:var(--radius-lg);box-shadow:0 2px 12px #2c242014;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:16px;gap:var(--space-md);max-width:320px;padding:32px;padding:var(--space-xl);width:100%}#form-container fieldset:before{color:#c17f52;color:var(--color-accent);content:"Budget";display:block;font-size:2rem;font-size:var(--font-size-2xl);font-weight:700;margin-bottom:8px;margin-bottom:var(--space-sm);text-align:center}#form-container input[type=password],#form-container input[type=text]{background:#fdf9f5;background:var(--color-surface-alt);border:1.5px solid #e8ddd3;border:1.5px solid var(--color-border);border-radius:12px;border-radius:var(--radius-md);color:#2c2420;color:var(--color-text);font-family:Nunito,system-ui,-apple-system,sans-serif;font-family:var(--font-family);font-size:1rem;font-size:var(--font-size-base);outline:none;padding:8px 16px;padding:var(--space-sm) var(--space-md);transition:border-color .15s ease;width:100%}#form-container input[type=password]:focus,#form-container input[type=text]:focus{background:#fff;background:var(--color-surface);border-color:#c17f52;border-color:var(--color-accent)}#form-container input[type=password]::placeholder,#form-container input[type=text]::placeholder{color:#b8a89e;color:var(--color-text-disabled)}#submit-button{background:#c17f52;background:var(--color-accent);border:none;border-radius:9999px;border-radius:var(--radius-full);color:#fff;cursor:pointer;font-family:Nunito,system-ui,-apple-system,sans-serif;font-family:var(--font-family);font-size:1rem;font-size:var(--font-size-base);font-weight:700;padding:8px 16px;padding:var(--space-sm) var(--space-md);transition:background-color .15s ease;width:100%}#submit-button:hover{background:#a5673e;background:var(--color-accent-dark)}h1:not(.no_bottom_space):not(#tx_title):not(#goal_title):not(.chart-wrapper){background:#fff;background:var(--color-surface);border-bottom:1px solid #f0e8e0;border-bottom:1px solid var(--color-border-light);border-radius:18px 18px 0 0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:0 2px 12px #2c242014;box-shadow:var(--shadow-card);color:#2c2420;color:var(--color-text);font-size:1.125rem;font-size:var(--font-size-lg);margin:24px 0 0;margin:var(--space-lg) 0 0;padding:16px;padding:var(--space-md)}h1+h3.sub_title{border-radius:0;box-shadow:none}.short_input{background:#fdf9f5;background:var(--color-surface-alt);border:1.5px solid #e8ddd3;border:1.5px solid var(--color-border);border-radius:6px;border-radius:var(--radius-sm);color:#2c2420;color:var(--color-text);font-family:Nunito,system-ui,-apple-system,sans-serif;font-family:var(--font-family);font-size:.8125rem;font-size:var(--font-size-sm);outline:none;padding:4px 8px;padding:var(--space-xs) var(--space-sm);width:70px}.short_input:focus{border-color:#c17f52;border-color:var(--color-accent)}.soft_underline{border-bottom:1px solid #e8ddd3;border-bottom:1px solid var(--color-border)}td{border-bottom:none}#amount_head{align-items:center;display:flex;flex-wrap:nowrap;justify-content:center}.small_button{padding:0}
/*# sourceMappingURL=main.a9fb13d0.css.map*/