.budget-container{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:1200px;padding:1.5rem 1.5rem calc(1.5rem + var(--sticky-ad-safe));width:100%}.storage-notice{align-items:flex-start;background:linear-gradient(135deg,rgba(99,102,241,.1),rgba(99,102,241,.05));border:1px solid rgba(99,102,241,.2);border-radius:var(--radius);display:flex;gap:.75rem;margin-bottom:.5rem;padding:.875rem 1rem}.storage-notice__icon{align-items:center;background:rgba(99,102,241,.15);border-radius:8px;color:var(--accent-blue);display:flex;flex-shrink:0;font-size:.875rem;height:32px;justify-content:center;width:32px}.storage-notice__content{flex:1;min-width:0}.storage-notice__title{color:var(--text-primary);font-size:.8125rem;font-weight:600;margin:0 0 .25rem}.storage-notice__text{color:var(--text-secondary);font-size:.75rem;line-height:1.5;margin:0 0 .5rem}.storage-notice__cta{color:var(--text-muted);font-size:.75rem;margin:0}.storage-notice__link{color:var(--accent-gold);font-weight:500;text-decoration:none;transition:color .2s ease}.storage-notice__link:hover{color:var(--accent-gold-light)}.storage-notice__link i{font-size:.625rem;margin-left:.25rem}@media (max-width:480px){.storage-notice{flex-direction:column;gap:.5rem;padding:.75rem}.storage-notice__icon{font-size:.75rem;height:28px;width:28px}}.intro-panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:all .3s ease}.intro-panel.collapsed{padding:0}.intro-panel.expanded{padding:1.25rem}.intro-toggle{align-items:center;background:var(--bg-elevated);border:none;border-bottom:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-primary);cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;justify-content:center;margin:0;padding:.75rem 1rem;transition:all .2s ease;width:100%}.intro-toggle:hover{background:var(--bg-card)}.intro-toggle.open{background:rgba(212,175,55,.1);border-color:var(--accent-gold);border-radius:var(--radius) var(--radius) 0 0;box-shadow:var(--shadow)}.intro-toggle:focus-visible{outline:2px solid var(--accent-gold);outline-offset:2px}.intro-toggle i{font-size:.8rem}.intro-content{border-top:1px solid var(--border-color);display:grid;gap:.75rem;padding-top:1rem;text-align:left}.disclaimer{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.85rem;margin-top:1rem;padding:1rem}.disclaimer p{color:var(--danger-color);font-weight:600;margin:0 0 .5rem}.disclaimer ul{list-style-type:disc;margin:0;padding-left:1.25rem}.disclaimer li{line-height:1.5;margin:.4rem 0}.eyebrow{color:var(--accent-gold-light);font-size:.8rem;letter-spacing:.08em;margin-bottom:.15rem;text-transform:uppercase}.lede{color:var(--text-primary);font-size:1rem}.quick-steps{display:flex;flex-wrap:wrap;gap:.5rem}.chip{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);font-size:.9rem;padding:.35rem .75rem;transition:all .2s ease}.chip:hover{border-color:var(--border-hover)}.microcopy-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.microcopy{align-items:center;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);display:flex;font-size:.95rem;gap:.5rem;padding:.65rem .8rem;transition:all .2s ease}.microcopy:hover{border-color:var(--border-hover)}.tab-nav{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.tab-nav button{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:none;color:var(--text-primary);display:grid;gap:.25rem;padding:.9rem 1rem;text-align:left;transition:all .2s ease}.tab-nav button:hover{background:var(--bg-card);border-color:var(--border-hover)}.tab-nav button.active{background:rgba(212,175,55,.15);border-color:var(--accent-gold);box-shadow:var(--shadow);color:var(--text-primary)}.tab-nav .sub-label{color:var(--text-muted);font-size:.9rem}.tab-panel{backdrop-filter:blur(4px);background-color:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow);display:none;padding:1.25rem}.tab-panel.active{display:block}.results-section{height:100%}.panel-header{align-items:flex-start;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.inline-callout{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);display:inline-flex;gap:.5rem;padding:.75rem 1rem;transition:all .2s ease}.inline-callout:hover{border-color:var(--border-hover)}.input-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:2rem}.panel-footer{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-top:.75rem}.flows-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-bottom:2rem}.input-group{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius);margin-bottom:1.5rem;padding:1.5rem;text-align:center}.section-divider{background:linear-gradient(90deg,transparent 0,var(--border-color) 50%,transparent 100%);height:1px;margin:3rem 0 2rem}.section-heading{align-items:center;color:var(--accent-gold);display:flex;font-size:1.5rem;gap:.5rem;justify-content:center;margin-bottom:1.5rem}.input-group h2{border-bottom:1px solid var(--border-color);color:var(--accent-gold);font-size:clamp(1.25rem,4vw,1.5rem);margin-bottom:1rem;padding-bottom:.5rem;text-align:center}.input-item-group{background:rgba(0,0,0,.2);border:1px solid var(--border-color);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:100%;padding:1.25rem;transition:all .2s ease;width:100%}.input-item-group:hover{border-color:var(--border-hover)}.input-wrapper{margin:0 auto;max-width:400px;position:relative;width:100%}.input-wrapper input{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text-primary);font-size:1rem;padding:1rem 1.25rem;text-align:center;transition:all .2s ease;width:100%}.input-wrapper input:focus{border-color:var(--accent-gold);box-shadow:0 0 0 3px rgba(212,175,55,.1);outline:none}.input-wrapper.input-with-icon input{padding-left:2.5rem;text-align:left}.input-wrapper.input-with-icon .input-icon{color:var(--accent-gold);font-size:.9rem;left:.875rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.input-item-group .input-area{min-width:0;position:relative}.input-item-group .input-area.input-with-icon{position:relative}.input-item-group .input-area input{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text-primary);font-size:.95rem;min-height:44px;padding:.875rem 1rem;text-align:center;transition:all .2s ease;width:100%}.input-item-group .input-area input:focus{border-color:var(--accent-gold);box-shadow:0 0 0 3px rgba(212,175,55,.1);outline:none}.input-item-group .input-area.input-with-icon input{padding-left:2.5rem;text-align:left}.input-item-group .select-input select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:.95rem;min-height:44px;padding:.875rem 1rem .875rem 2.5rem;transition:all .2s ease;width:100%}.input-item-group .select-input select:focus{border-color:var(--accent-gold);box-shadow:0 0 0 3px rgba(212,175,55,.1);outline:none}.input-item-group .input-area.input-with-icon .input-icon{color:var(--accent-gold);font-size:.9rem;left:.875rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.bill-due input,.income-pay input{text-align:left}.oneoff-payment-date input{text-align:left;width:100%}.input-item-group .input-area input::-moz-placeholder,.input-item-group .select-input select::-moz-placeholder{color:var(--text-muted);opacity:.7}.input-item-group .input-area input::placeholder,.input-item-group .select-input select::placeholder{color:var(--text-muted);opacity:.7}.input-item-group .input-area input:invalid:not(:-moz-placeholder-shown){border-color:rgba(239,68,68,.5)}.input-item-group .input-area input:invalid:not(:placeholder-shown){border-color:rgba(239,68,68,.5)}.input-item-group .input-area input:valid:not(:-moz-placeholder-shown){border-color:rgba(20,184,166,.3)}.input-item-group .input-area input:valid:not(:placeholder-shown){border-color:rgba(20,184,166,.3)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent-gold);outline-offset:2px}.input-item-group .input-area input:hover:not(:focus),.input-item-group .select-input select:hover:not(:focus){border-color:var(--border-hover)}button{border:none;border-radius:var(--radius-sm);box-shadow:var(--shadow);cursor:pointer;display:block;font-size:.95rem;font-weight:600;margin:.75rem auto;min-height:44px;padding:.875rem 1.5rem;transition:all .2s ease}button:active:not(:disabled){box-shadow:0 2px 6px rgba(0,0,0,.15);transform:translateY(1px)}button.success{background-color:var(--success-color);color:#fff}button.success:hover:not(:disabled){background-color:#2dd4bf;box-shadow:var(--shadow-lg)}button.danger{background-color:var(--danger-color);color:#fff}button.danger:hover:not(:disabled){background-color:#f87171;box-shadow:var(--shadow-lg)}button.warning{background-color:var(--warning-color);color:var(--bg-primary)}button.warning:hover:not(:disabled){background-color:var(--accent-gold-light);box-shadow:var(--shadow-lg)}button.primary{background-color:var(--accent-gold);color:var(--bg-primary);font-weight:600;margin:1rem auto;max-width:400px;padding:.875rem 1.5rem;width:100%}button.primary:hover:not(:disabled){background-color:var(--accent-gold-light);box-shadow:var(--shadow-lg);transform:translateY(-2px)}button.secondary{background-color:transparent;border:1px solid var(--border-color);color:var(--text-primary);margin:.5rem auto;max-width:400px;padding:.875rem 1.5rem;width:100%}button.secondary:hover:not(:disabled){background-color:rgba(212,175,55,.1);border-color:var(--accent-gold)}button:hover:not(:disabled){opacity:.95}button:disabled{cursor:not-allowed;opacity:.6}button.delete-button{align-items:center;border-radius:var(--radius-sm);display:inline-flex;justify-content:center;min-height:44px;min-width:44px;padding:.75rem 1rem;transition:all .2s ease}button.delete-button:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:scale(1.05)}button.delete-button i{font-size:1rem}.results-section{border-top:1px solid var(--border-color);margin-top:2rem;overflow-x:auto;padding-bottom:1rem;padding-top:1.5rem;text-align:center;width:100%}.results-section.tab-panel{border-top:none;margin-top:0}.chart-container{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);height:360px;margin:1.5rem auto;max-width:800px;padding:1rem;width:100%}.month-view-panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow);margin:1rem auto;max-width:900px;padding:1rem}.month-view-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.inline-control{display:flex;flex-direction:column;gap:.35rem}.inline-control select{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.95rem;min-width:220px;padding:.65rem .75rem;transition:all .2s ease}.inline-control select:focus{border-color:var(--accent-gold);box-shadow:0 0 0 3px rgba(212,175,55,.1);outline:none}.month-days-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-top:.75rem}.day-card{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);display:grid;gap:.25rem;padding:.75rem;text-align:left;transition:all .2s ease}.day-card:hover{border-color:var(--border-hover)}.day-label{color:var(--text-muted);font-size:.95rem;font-weight:600}.day-balance{color:var(--text-primary);font-size:1.05rem;font-weight:700}.day-change{color:var(--success-color);font-size:.9rem;font-weight:600}.day-change.negative{color:var(--danger-color)}.chart-controls{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:1rem auto .5rem;max-width:900px}.chart-controls .control{display:flex;flex-direction:column;gap:.35rem}.chart-controls input[type=text],.chart-controls select{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.95rem;padding:.65rem .75rem;transition:all .2s ease;width:100%}.chart-controls input[type=text]:focus,.chart-controls select:focus{border-color:var(--accent-gold);box-shadow:0 0 0 3px rgba(212,175,55,.1);outline:none}.chart-controls .input-wrapper.input-with-icon input{padding-left:2.5rem}.chart-help-text{margin:.35rem auto 0;max-width:900px;text-align:left}#resultsTable{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-collapse:collapse;border-radius:var(--radius-sm);font-size:clamp(.875rem,2.5vw,1rem);margin:1rem auto;max-width:800px;overflow:hidden;width:100%}#resultsTable td,#resultsTable th{border-bottom:1px solid var(--border-color);padding:.75rem .5rem;text-align:center}#resultsTable th{background-color:var(--bg-elevated)}#resultsTable th,.section-subtitle{color:var(--text-primary);font-weight:600}.section-subtitle{align-items:center;display:inline-flex;gap:.4rem;margin-bottom:.35rem}.insights-actions{justify-content:space-between}.insights-actions,.insights-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.insights-buttons button{margin:0}.insights-buttons .primary,.insights-buttons .secondary{width:auto}footer{background-color:var(--bg-card);border-top:1px solid var(--border-color);margin-top:2rem;padding:1.5rem 1rem;text-align:center;width:100%}.donation-link a,.home-button{color:var(--accent-gold);display:inline-block;margin:.5rem 1rem;text-decoration:none;transition:all .2s ease}.donation-link a:hover,.home-button:hover{color:var(--accent-gold-light);text-decoration:underline}footer p{color:var(--text-muted);font-size:.875rem;margin:1rem 0 0}.text-red-500{color:var(--danger-color)}.text-green-500{color:var(--success-color)}.font-semibold{font-weight:600}.help-text{color:var(--text-muted);font-size:.875rem;margin:.5rem 0;text-align:center}.help-text.subtle-note{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);padding:.65rem .75rem;text-align:left}.data-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:.5rem}.data-actions button{margin:0;width:auto}#dataStatus[data-status=success]{color:var(--success-color)}#dataStatus[data-status=error]{color:var(--danger-color)}@media (min-width:768px){.input-item-group{align-items:center;flex-direction:row;gap:1rem;justify-content:center}.input-wrapper{flex:1;max-width:none}button.delete-button{margin:0;padding:.5rem 1rem;width:auto}button.primary{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.budget-container{gap:1.75rem;padding:1.75rem}.tab-panel{padding:1.5rem}.panel-header{align-items:center;flex-direction:row;justify-content:space-between}.input-group{text-align:left}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:480px){header{padding:.5rem}header h1{font-size:clamp(1.25rem,5vw,1.75rem)}.budget-container{margin:.5rem auto;padding:1rem}.input-item-group{gap:.5rem;padding:.5rem 0}.input-wrapper input{font-size:16px;padding:.75rem}button{font-size:.9rem;padding:.6rem 1rem}button.primary{padding:.75rem 1.5rem}.chart-container{height:200px;margin:1rem auto}#resultsTable{font-size:.875rem}#resultsTable td,#resultsTable th{padding:.6rem .3rem}footer{padding:1rem .5rem}.donation-link a,.home-button{display:block;margin:.25rem 0;padding:.5rem}.help-text{font-size:.75rem}.flows-grid,.input-grid{grid-template-columns:1fr}}@media (max-width:360px){header h1{font-size:clamp(1.25rem,7vw,1.75rem)}.budget-container{padding:.75rem}.input-item-group{gap:.4rem;padding:.4rem 0}.input-wrapper input{padding:.6rem}button{padding:.5rem .75rem}button.primary{padding:.6rem 1rem}.chart-container{height:180px}#resultsTable td,#resultsTable th{padding:.5rem .2rem}footer{padding:.75rem .25rem}}.promo-banner{background:linear-gradient(135deg,var(--accent-gold) 0,var(--accent-gold-light) 100%);box-shadow:var(--shadow);margin:0;padding:1rem}.promo-content{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin:0 auto;max-width:1200px}.promo-icon{color:var(--bg-primary);font-size:1.5rem}.promo-text{color:var(--bg-primary);flex:1;font-size:.95rem;min-width:250px}.promo-text strong{font-weight:700}.promo-btn{align-items:center;background:var(--bg-primary);border-radius:var(--radius-sm);color:var(--accent-gold);display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;text-decoration:none;transition:all .2s ease;white-space:nowrap}.promo-btn:hover{background:var(--bg-card);box-shadow:var(--shadow);transform:translateY(-1px)}@media (max-width:768px){.promo-content{justify-content:center;text-align:center}.promo-text{flex-basis:100%}.promo-btn{margin:0 auto}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.input-item-group{animation:fadeIn .3s ease-out}button.loading{color:transparent;pointer-events:none;position:relative}button.loading:after{animation:spin .6s linear infinite;border:2px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;content:"";height:16px;left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.tab-panel{animation:fadeIn .2s ease-out}