.budget-tool{max-width:720px;padding-bottom:var(--space-2xl);margin:0 auto}.budget-input-section{background:var(--bg-secondary);padding:var(--space-lg);margin-bottom:var(--space-xl);border:1px solid #c9a55a26;border-radius:8px}.budget-input-label{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--accent-gold);margin-bottom:var(--space-sm);font-size:.7rem;display:block}.budget-input-wrapper{margin-bottom:var(--space-md);align-items:center;gap:0;display:flex}.currency-symbol{background:var(--bg-tertiary);width:40px;height:48px;color:var(--accent-gold);border:1px solid #c9a55a33;border-right:none;border-radius:4px 0 0 4px;justify-content:center;align-items:center;font-size:1.1rem;font-weight:600;display:flex}.budget-input{background:var(--bg-tertiary);height:48px;color:var(--text-primary);font-family:var(--font-heading);padding:0 var(--space-md);-moz-appearance:textfield;border:1px solid #c9a55a33;border-radius:0 4px 4px 0;flex:1;font-size:1.5rem;font-weight:700}.budget-input::-webkit-outer-spin-button,.budget-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.budget-input:focus-visible{box-shadow:var(--focus-ring,0 0 0 2px var(--accent-gold));outline:none}.quick-budgets{gap:var(--space-sm);flex-wrap:wrap;display:flex}.quick-btn{background:var(--bg-tertiary);color:var(--text-secondary);padding:var(--space-xs) var(--space-md);font-family:var(--font-mono);cursor:pointer;border:1px solid #c9a55a26;border-radius:4px;font-size:.8rem;transition:background .2s,color .2s,border-color .2s}.quick-btn:hover{color:var(--accent-gold);background:#c9a55a0f;border-color:#c9a55a66}.quick-btn.active{color:var(--accent-gold);border-color:var(--accent-gold);background:#c9a55a1f}.quick-btn:focus-visible{box-shadow:var(--focus-ring,0 0 0 2px var(--accent-gold));outline:none}.guest-input-row{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid #c9a55a14}.guest-input-wrapper{margin-bottom:var(--space-md)}.guest-input{background:var(--bg-tertiary);width:100%;max-width:140px;height:40px;color:var(--text-primary);font-family:var(--font-heading);padding:0 var(--space-md);text-align:center;-moz-appearance:textfield;border:1px solid #c9a55a33;border-radius:4px;font-size:1.2rem;font-weight:700}.guest-input::-webkit-outer-spin-button,.guest-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.guest-input:focus-visible{box-shadow:var(--focus-ring,0 0 0 2px var(--accent-gold));outline:none}.party-type-section{margin-bottom:var(--space-xl)}.section-label{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--accent-gold);margin-bottom:var(--space-md);font-size:.7rem;display:block}.party-type-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.party-type-btn{padding:var(--space-md);background:var(--bg-secondary);cursor:pointer;text-align:left;border:1px solid #c9a55a1f;border-radius:6px;flex-direction:column;align-items:flex-start;gap:4px;transition:background .2s,border-color .2s;display:flex}.party-type-btn:hover{background:var(--bg-tertiary);border-color:#c9a55a4d}.party-type-btn.selected{border-color:var(--accent-gold);background:#c9a55a1a}.party-type-btn:focus-visible{box-shadow:var(--focus-ring,0 0 0 2px var(--accent-gold));outline:none}.pty-name{color:var(--text-primary);font-size:.9rem;font-weight:600}.pty-desc{color:var(--text-muted);font-size:.75rem;line-height:1.4}.allocation-status{padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-lg);color:var(--text-secondary);font-size:.85rem;font-family:var(--font-mono);background:#c9a55a0f;border:1px solid #c9a55a26;border-radius:4px;justify-content:space-between;align-items:center;display:flex}.allocation-status.over{color:#dc3232;background:#dc323214;border-color:#dc323266}.saved-budgets-section{margin-bottom:var(--space-xl)}.slots-grid{gap:var(--space-sm);margin-bottom:var(--space-md);grid-template-columns:repeat(3,1fr);display:grid}.budget-slot{padding:var(--space-md);border-radius:6px;flex-direction:column;gap:4px;min-height:80px;display:flex}.budget-slot.empty{background:0 0;border:1px dashed #c9a55a26;justify-content:center;align-items:center}.budget-slot.occupied{background:var(--bg-secondary);border:1px solid #c9a55a1f}.slot-empty-text{color:var(--text-muted);font-size:.75rem}.slot-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;overflow:hidden}.slot-date{color:var(--text-muted);font-size:.7rem;font-family:var(--font-mono)}.slot-actions{gap:var(--space-xs);margin-top:auto;display:flex}.slot-btn{font-size:.7rem;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;padding:2px var(--space-sm);cursor:pointer;border:1px solid #0000;border-radius:3px;transition:background .15s,border-color .15s}.slot-btn:focus-visible{box-shadow:var(--focus-ring,0 0 0 2px var(--accent-gold));outline:none}.load-btn{color:var(--accent-gold);background:#c9a55a1a;border-color:#c9a55a33}.load-btn:hover{background:#c9a55a33;border-color:#c9a55a66}.save-btn{color:var(--accent-gold);background:#c9a55a1a;border-color:#c9a55a33}.save-btn:hover{background:#c9a55a33;border-color:#c9a55a66}.cancel-btn{color:var(--text-muted);background:0 0;border-color:#c9a55a1a}.cancel-btn:hover{color:var(--text-secondary);border-color:#c9a55a33}.delete-btn{color:var(--text-muted);background:0 0;border-color:#c9a55a1a}.delete-btn:hover{color:#dc3232;border-color:#dc32324d}.slot-save-form{gap:var(--space-sm);flex-direction:column;display:flex}.slot-name-input{background:var(--bg-tertiary);width:100%;height:32px;color:var(--text-primary);padding:0 var(--space-sm);border:1px solid #c9a55a33;border-radius:4px;font-size:.8rem}.slot-name-input:focus-visible{box-shadow:var(--focus-ring,0 0 0 2px var(--accent-gold));outline:none}.save-current-btn{align-items:center;gap:var(--space-xs);color:var(--accent-gold);padding:var(--space-xs) var(--space-md);font-size:.8rem;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #c9a55a4d;border-radius:4px;transition:background .15s,border-color .15s;display:inline-flex}.save-current-btn:hover{border-color:var(--accent-gold);background:#c9a55a14}.save-current-btn:focus-visible{box-shadow:var(--focus-ring,0 0 0 2px var(--accent-gold));outline:none}.category-sliders{margin-bottom:var(--space-2xl)}.slider-row{background:var(--bg-secondary);padding:var(--space-md);margin-bottom:var(--space-sm);border:1px solid #c9a55a14;border-radius:6px}.slider-header{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.slider-icon{min-width:24px;font-size:1.1rem}.slider-name{color:var(--text-primary);cursor:default;flex:1;font-size:.9rem;font-weight:500}.slider-amount{color:var(--accent-gold);font-size:.95rem;font-weight:700;font-family:var(--font-mono);text-align:right;min-width:52px}.slider-pct{color:var(--text-muted);font-size:.8rem;font-family:var(--font-mono);text-align:right;min-width:36px}.slider-control{padding-bottom:var(--space-xs);position:relative}.range-slider{-webkit-appearance:none;appearance:none;background:var(--bg-tertiary);cursor:pointer;border-radius:2px;outline:none;width:100%;height:4px}.range-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--accent-gold);border:2px solid var(--bg-primary);cursor:pointer;border-radius:50%;width:18px;height:18px;transition:transform .15s,box-shadow .15s}.range-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 0 0 4px #c9a55a40}.range-slider::-moz-range-thumb{background:var(--accent-gold);border:2px solid var(--bg-primary);cursor:pointer;border-radius:50%;width:18px;height:18px}.range-slider:focus-visible{box-shadow:var(--focus-ring,0 0 0 2px var(--accent-gold));outline:none}.pro-tip{color:var(--text-muted);margin:var(--space-xs) 0 0;font-size:.75rem;font-style:italic;line-height:1.4}.product-suggestions{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid #c9a55a0f}.suggestions-toggle{color:var(--accent-gold);font-size:.75rem;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;padding:0;transition:opacity .15s}.suggestions-toggle:hover{opacity:.8}.suggestions-toggle:focus-visible{box-shadow:var(--focus-ring,0 0 0 2px var(--accent-gold));border-radius:2px;outline:none}.suggestions-list{gap:var(--space-xs);margin-top:var(--space-sm);flex-direction:column;display:flex}.suggestion-card{gap:2px var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);border:1px solid #c9a55a1a;border-radius:4px;grid-template-rows:auto auto;grid-template-columns:1fr auto;text-decoration:none;transition:border-color .2s,background .2s;display:grid}.suggestion-card:hover{background:#c9a55a0d;border-color:#c9a55a59}.suggestion-card:focus-visible{box-shadow:var(--focus-ring,0 0 0 2px var(--accent-gold));outline:none}.sugg-name{color:var(--text-primary);grid-area:1/1;font-size:.85rem;font-weight:500}.sugg-price{color:var(--accent-gold);font-size:.85rem;font-weight:700;font-family:var(--font-mono);white-space:nowrap;grid-area:1/2}.sugg-note{color:var(--text-muted);grid-area:2/1;font-size:.75rem}.sugg-tier{font-size:.65rem;font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.08em;text-align:right;grid-area:2/2;align-self:end}.no-suggestions{color:var(--text-muted);margin:var(--space-xs) 0 0;font-size:.8rem}.budget-summary{background:var(--bg-secondary);padding:var(--space-lg);border:1px solid #c9a55a1f;border-radius:8px}.budget-summary h3{font-family:var(--font-heading);color:var(--accent-gold);margin:0 0 var(--space-md);font-size:1.1rem}.summary-table{border-collapse:collapse;width:100%;font-size:.875rem}.summary-table th{text-align:left;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);padding:var(--space-xs) var(--space-sm);border-bottom:1px solid #c9a55a1a;font-size:.65rem}.summary-table th:nth-child(2),.summary-table th:nth-child(3){text-align:right}.summary-table td{padding:var(--space-xs) var(--space-sm);color:var(--text-secondary);border-bottom:1px solid #c9a55a0a}.summary-table td:nth-child(2),.summary-table td:nth-child(3){text-align:right;font-family:var(--font-mono);color:var(--text-primary)}.summary-table .total-row td{padding-top:var(--space-sm);color:var(--text-primary);border-top:1px solid #c9a55a33;border-bottom:none}.summary-table .total-row td:nth-child(3){color:var(--accent-gold)}.over-text{color:#dc3232!important}.share-btn{width:100%;margin-top:var(--space-lg);padding:var(--space-sm) var(--space-md);color:var(--accent-gold);font-size:.85rem;font-family:var(--font-mono);letter-spacing:.05em;cursor:pointer;background:0 0;border:1px solid #c9a55a4d;border-radius:4px;transition:background .15s,border-color .15s,color .15s;display:block}.share-btn:hover{border-color:var(--accent-gold);background:#c9a55a14}.share-btn.copied{border-color:var(--accent-gold);color:var(--accent-gold);background:#c9a55a1f}.share-btn:focus-visible{box-shadow:var(--focus-ring,0 0 0 2px var(--accent-gold));outline:none}.summary-table .per-guest-row td{padding-top:var(--space-xs);color:var(--text-muted);border-bottom:none;font-size:.8rem}.summary-table .per-guest-row td:nth-child(3){color:var(--text-secondary);font-family:var(--font-mono)}@media (prefers-reduced-motion:reduce){.quick-btn,.party-type-btn,.suggestions-toggle,.suggestion-card,.range-slider::-webkit-slider-thumb{transition:none}.slot-btn,.save-current-btn,.share-btn{transition:none}}@media (width<=500px){.party-type-grid{grid-template-columns:1fr 1fr}.slots-grid{grid-template-columns:1fr}.budget-input-section{padding:var(--space-md)}.slider-header{flex-wrap:wrap}.slider-pct{min-width:auto}.suggestion-card{grid-template-rows:auto auto auto auto;grid-template-columns:1fr}.sugg-price{grid-area:2/1}.sugg-tier{text-align:left;grid-area:4/1}}
