.budget-page{background:#f8fafc}.budget-container{max-width:56rem;margin:0 auto;padding:0 1.5rem}.budget-hero{background:#fff;border-bottom:2px solid #e2e8f0;padding-bottom:2rem}.budget-hero .budget-container{padding-top:1.5rem}.budget-header{margin-bottom:1.5rem}.budget-header h1{font-size:1.75rem;font-weight:700;color:#0f172a;margin:0 0 .25rem;letter-spacing:-.02em}.budget-subtitle{font-size:1.125rem;color:#64748b;margin:0}.budget-hero-result{text-align:center;padding:1.25rem 1.5rem;border-radius:.875rem;border:2px solid #fde68a;background:#fffbeb;transition:all .3s ease}.budget-hero-result.active{border-color:#f59e0b;background:#fffbeb}.budget-hero-number{font-size:1.375rem;color:#92400e;line-height:1.3}.budget-hero-number strong{font-size:2.25rem;font-weight:800;color:#d97706;letter-spacing:-.02em}.budget-hero-city{font-size:1.0625rem;color:#92400e;margin-top:.25rem}.budget-hero-city span{font-weight:600;color:#78350f}.budget-inputs-section{padding:2rem 0}.budget-inputs-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.budget-panel{background:#fff;border:2px solid #e2e8f0;border-radius:.875rem;padding:1.5rem}.budget-panel-title{font-size:1.125rem;font-weight:700;color:#0f172a;margin:0 0 1.25rem}.budget-field{margin-bottom:1.25rem}.budget-field:last-child{margin-bottom:0}.budget-label{display:block;font-size:.9375rem;font-weight:600;color:#475569;margin-bottom:.375rem}.budget-field-hint{display:block;font-size:.8125rem;color:var(--color-text-secondary);margin-top:.25rem}.budget-select{width:100%;height:2.75rem;padding:0 .875rem;background:#f8fafc;border:2px solid #e2e8f0;border-radius:.625rem;font-size:1rem;font-weight:600;color:#0f172a;transition:all .2s ease;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.budget-select:focus{outline:none;border-color:#d97706;background:#fff;box-shadow:0 0 0 3px #d977061a}.budget-toggle-wrap{display:flex;gap:0;border:2px solid #e2e8f0;border-radius:.625rem;overflow:hidden}.budget-toggle-btn{flex:1;height:2.75rem;padding:0 1rem;background:#f8fafc;border:none;font-size:1rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .2s ease}.budget-toggle-btn:first-child{border-right:1px solid #e2e8f0}.budget-toggle-btn.active{background:#fffbeb;color:#d97706}.budget-toggle-btn:hover:not(.active){background:#f1f5f9}.budget-search-wrap{position:relative}.budget-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);width:1rem;height:1rem;color:#64748b;pointer-events:none}.budget-search-input{width:100%;height:2.75rem;padding:0 .875rem 0 2.375rem;background:#f8fafc;border:2px solid #e2e8f0;border-radius:.625rem;font-size:1rem;color:#0f172a;transition:all .2s ease}.budget-search-input:focus{outline:none;border-color:#d97706;background:#fff;box-shadow:0 0 0 3px #d977061a}.budget-search-input::-moz-placeholder{color:#64748b}.budget-search-input::placeholder{color:#64748b}.budget-search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;background:#fff;border:2px solid #e2e8f0;border-radius:.625rem;box-shadow:0 10px 25px -5px #0000001a;opacity:0;visibility:hidden;transform:translateY(-4px);transition:all .15s ease;overflow:hidden}.budget-search-results.visible{opacity:1;visibility:visible;transform:translateY(0)}.budget-search-option{display:flex;align-items:center;gap:.5rem;width:100%;padding:.625rem .75rem;background:none;border:none;font-size:1.0625rem;color:#334155;cursor:pointer;text-align:left;transition:background .15s ease}.budget-search-option:hover,.budget-search-option.highlighted{background:#fffbeb}.budget-search-option img{border-radius:2px;-o-object-fit:cover;object-fit:cover;flex-shrink:0}.budget-opt-name{font-weight:600;color:#1e293b}.budget-opt-country{color:#64748b;margin-left:auto;font-size:1rem}.budget-selected{display:flex;align-items:center;gap:.5rem;padding:.375rem .625rem;background:#fffbeb;border:1.5px solid #fde68a;border-radius:.5rem;margin-top:.5rem}.budget-selected img{border-radius:2px;-o-object-fit:cover;object-fit:cover;flex-shrink:0}.budget-selected span{font-size:1rem;font-weight:600;color:#b45309;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.budget-section-title{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0 0 .25rem}.budget-section-desc{font-size:1rem;color:#64748b;margin:0 0 1.25rem}.budget-progress-section{padding:0 0 2rem}.budget-progress-track{display:flex;height:2.5rem;border-radius:.625rem;overflow:hidden;gap:3px;margin-bottom:.5rem}.budget-progress-phase{display:flex;align-items:center;justify-content:center;border-radius:.375rem;transition:width .5s cubic-bezier(.4,0,.2,1);min-width:60px}.budget-progress-p1{background:#fbbf24;width:33%}.budget-progress-p2{background:#f59e0b;width:34%}.budget-progress-p3{background:#d97706;width:33%}.budget-progress-label{font-size:.8125rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2);white-space:nowrap}.budget-progress-amounts{display:flex;font-size:.9375rem;font-weight:700;color:#92400e;font-variant-numeric:tabular-nums}.budget-progress-amounts span{flex:1;text-align:center}.budget-progress-amounts span:first-child{text-align:left}.budget-progress-amounts span:last-child{text-align:right}.budget-phases-section{padding:0 0 2rem}.budget-phases-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.25rem}.budget-phase-card{background:#fff;border:2px solid #e2e8f0;border-radius:.875rem;overflow:hidden;display:flex;flex-direction:column}.budget-phase-header{padding:1.25rem 1.25rem 1rem;border-bottom:1px solid #f1f5f9}.budget-phase-badge{display:inline-block;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .5rem;border-radius:9999px;margin-bottom:.5rem}.budget-phase-1 .budget-phase-badge{background:#fef3c7;color:#b45309}.budget-phase-2 .budget-phase-badge{background:#ffedd5;color:#c2410c}.budget-phase-3 .budget-phase-badge{background:#fce7f3;color:#be185d}.budget-phase-1{border-top:3px solid #fbbf24}.budget-phase-2{border-top:3px solid #f59e0b}.budget-phase-3{border-top:3px solid #d97706}.budget-phase-title{font-size:1.125rem;font-weight:700;color:#0f172a;margin:0 0 .25rem}.budget-phase-weeks{font-size:.9375rem;color:#64748b}.budget-phase-items{padding:.75rem 1.25rem;flex:1;display:flex;flex-direction:column;gap:.25rem}.budget-phase-item{display:flex;justify-content:space-between;align-items:baseline;padding:.3125rem 0;font-size:.9375rem;color:#64748b;gap:.5rem}.budget-phase-item span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-phase-item span:last-child{font-weight:600;color:#334155;font-variant-numeric:tabular-nums;flex-shrink:0}.budget-phase-total{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1.25rem;margin-top:auto;border-top:2px solid #e2e8f0;font-size:1.0625rem;font-weight:700;color:#0f172a}.budget-phase-total strong{font-size:1.25rem;color:#d97706;font-variant-numeric:tabular-nums}.budget-tips-section{padding:0 0 2rem}.budget-tips-section .budget-section-title{margin-bottom:1rem}.budget-tips-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.budget-tip-card{background:#fff;border:2px solid #e2e8f0;border-radius:.875rem;padding:1.25rem}.budget-tip-icon{width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;background:#fffbeb;border:1.5px solid #fde68a;border-radius:.5rem;margin-bottom:.75rem}.budget-tip-icon svg{width:1.25rem;height:1.25rem;color:#d97706}.budget-tip-title{font-size:1rem;font-weight:700;color:#0f172a;margin:0 0 .375rem}.budget-tip-desc{font-size:.9375rem;color:#64748b;line-height:1.5;margin:0}.budget-quick-section{padding:0 0 2rem}.budget-quick-section .budget-section-title{margin-bottom:1rem}.budget-chips{display:flex;flex-wrap:wrap;gap:.5rem}.budget-chip{display:inline-flex;align-items:center;padding:.5rem 1rem;background:#fff;border:2px solid #e2e8f0;border-radius:9999px;font-size:1rem;font-weight:600;color:#475569;cursor:pointer;transition:all .2s ease;white-space:nowrap}.budget-chip:hover{border-color:#d97706;color:#d97706}.budget-chip.active{background:#d97706;border-color:#d97706;color:#fff}.budget-info-section{padding:0 0 3rem}.budget-info{display:flex;gap:.75rem;padding:1rem;background:#f1f5f9;border-radius:.75rem;border:1px solid #e2e8f0}.budget-info-icon{width:1.25rem;height:1.25rem;color:#64748b;flex-shrink:0;margin-top:.125rem}.budget-info p{font-size:1.0625rem;color:#64748b;margin:0;line-height:1.5}.budget-info strong{color:#475569}.budget-info a{color:#d97706;text-decoration:none;font-weight:500}.budget-info a:hover{text-decoration:underline}@media(max-width:768px){.budget-inputs-grid,.budget-phases-grid{grid-template-columns:1fr;gap:1rem}.budget-tips-grid{grid-template-columns:1fr}.budget-progress-track{height:2rem}.budget-progress-label{font-size:var(--fs-2xs)}.budget-hero-number strong{font-size:1.75rem}.budget-hero-number{font-size:1.125rem}}@media(max-width:480px){.budget-container{padding:0 1rem}.budget-hero .budget-container{padding-top:1rem}.budget-header h1{font-size:1.5rem}.budget-panel{padding:1rem}.budget-phase-card{border-radius:.75rem}.budget-phase-header{padding:1rem 1rem .75rem}.budget-phase-items,.budget-phase-total{padding:.75rem 1rem}.budget-chips{gap:.375rem}.budget-chip{font-size:1.0625rem;padding:.375rem .75rem}.budget-hero-number strong{font-size:1.5rem}.budget-hero-number{font-size:1rem}.budget-progress-track{height:1.75rem;gap:2px}.budget-progress-label{font-size:var(--fs-2xs)}}.budget-faq-section{max-width:800px;margin:2rem auto;padding:0 1rem}.budget-faq-title{font-size:1.375rem;font-weight:700;color:#1e293b;margin-bottom:1rem}.budget-faq-list{display:flex;flex-direction:column;gap:.5rem}.budget-faq-item{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;overflow:hidden}.budget-faq-item[open]{border-color:#cbd5e1}.budget-faq-question{padding:1rem 1.25rem;font-weight:600;color:#334155;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem}.budget-faq-question::-webkit-details-marker{display:none}.budget-faq-question:after{content:"+";font-size:1.25rem;color:var(--color-text-secondary);flex-shrink:0}.budget-faq-item[open] .budget-faq-question:after{content:"−"}.budget-faq-answer{padding:0 1.25rem 1rem;color:#64748b;line-height:1.6;margin:0}
