.wizard-navigation{border-top:1px solid var(--border-light);justify-content:flex-end;align-items:center;gap:1rem;margin-top:2rem;padding-top:1.5rem;display:flex}.wizard-navigation button{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;border-radius:50px;padding:.75rem 1.5rem;font-weight:500;transition:all .2s}.wizard-navigation button:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--border-hover)}.wizard-navigation button:disabled{opacity:.5;cursor:not-allowed}.wizard-navigation .primary-button{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.wizard-navigation .primary-button:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.step-indicator{justify-content:center;margin-bottom:2rem;padding:0 1rem;display:flex}.step-item{flex:1;align-items:center;max-width:200px;display:flex;position:relative}.step-circle{background:var(--bg-secondary);border:2px solid var(--border-light);width:40px;height:40px;color:var(--text-secondary);font-weight:600;font-size:var(--font-size-sm);z-index:2;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex;position:relative}.step-item.active .step-circle{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.step-item.completed .step-circle{background:var(--success-color);border-color:var(--success-color);color:#fff}.step-content{flex:1;margin-left:1rem}.step-title{font-size:var(--font-size-sm);color:var(--text-primary);margin:0 0 .25rem;font-weight:600}.step-description{font-size:var(--font-size-xs);color:var(--text-secondary);margin:0}.form-section{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);margin-bottom:1.5rem;padding:1.5rem}.form-section h3{color:var(--text-primary);font-size:var(--font-size-lg);margin:0 0 1.5rem;font-weight:600}.form-row{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.form-row:last-child{margin-bottom:0}.form-group{flex-direction:column;display:flex}.form-group label{font-size:var(--font-size-sm);color:var(--text-primary);margin-bottom:.5rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-sm);padding:.75rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb), .1);outline:none}.form-group textarea{resize:vertical;min-height:80px}.service-line-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-top:1rem;display:grid}.service-line-card{border:2px solid var(--border-light);border-radius:var(--radius-lg);cursor:pointer;background:var(--bg-primary);padding:1.5rem;transition:all .2s}.service-line-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #0000001a}.service-line-card.selected{border-color:var(--primary-color);background:rgba(var(--primary-rgb), .05)}.service-line-card h4{color:var(--text-primary);font-size:var(--font-size-md);margin:0 0 .5rem;font-weight:600}.service-line-card p{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0;line-height:1.5}.no-service-lines-message{color:var(--text-secondary);font-size:var(--font-size-sm);margin-top:.5rem;font-style:italic}.pricing-rules-grid{flex-direction:column;flex-shrink:0;gap:.5rem;min-height:300px;max-height:60vh;margin-top:1rem;padding-right:.5rem;display:flex;overflow:hidden scroll}.pricing-rules-grid::-webkit-scrollbar{width:8px}.pricing-rules-grid::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}.pricing-rules-grid::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.pricing-rules-grid::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.scroll-hint{text-align:center;font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:.5rem;padding:.5rem;font-style:italic;animation:2s infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.pricing-rule-card{border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-primary);flex-shrink:0;transition:all .2s;overflow:hidden}.pricing-rule-card:hover{border-color:var(--border-hover);box-shadow:0 2px 8px #0000001a}.pricing-rule-card.selected{border-color:var(--primary-color);box-shadow:0 4px 12px rgba(var(--primary-rgb), .15)}.card-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:1rem;display:flex}.card-details{background:var(--bg-primary)}.card-title-section{flex:1;align-items:center;gap:1rem;display:flex}.rule-checkbox{width:18px;height:18px;accent-color:var(--primary-color)}.rule-title{color:var(--text-primary);font-size:var(--font-size-md);margin:0;font-weight:600}.card-actions{align-items:center;gap:1rem;display:flex}.price-quantity-section{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.price-quantity-row{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.quantity-display{font-size:var(--font-size-sm);color:var(--text-secondary);align-items:center;gap:.25rem;display:flex}.quantity-label{font-weight:500}.quantity-input-container{flex-direction:column;align-items:center;display:flex;position:relative}.quantity-input-header{border:1px solid var(--border-color);border-radius:var(--radius-sm);width:60px;color:var(--text-primary);font-size:var(--font-size-sm);text-align:center;background:0 0;padding:.25rem 20px .25rem .5rem;font-weight:600;transition:all .2s}.quantity-input-header::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.quantity-input-header::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.quantity-input-header[type=number]{-moz-appearance:textfield}.quantity-arrows{flex-direction:column;gap:1px;display:flex;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.quantity-arrow{background:var(--bg-secondary);width:14px;height:10px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:1px;justify-content:center;align-items:center;font-size:7px;line-height:1;transition:all .2s;display:flex}.quantity-arrow:hover{background:var(--primary-color);color:#fff}.quantity-arrow:active{transform:scale(.95)}.quantity-input-header:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-rgb), .1);outline:none}.quantity-input-header.invalid{border-color:var(--error-color);box-shadow:0 0 0 2px rgba(var(--error-rgb), .1)}.price-display{align-items:center;gap:.25rem;display:flex}.price-label{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.validation-section{width:100%;margin-top:.5rem}.rule-price{font-size:var(--font-size-lg);color:var(--primary-color);font-weight:700}.expand-button{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:.5rem;transition:all .2s}.expand-button:hover{background:var(--bg-secondary);color:var(--text-primary)}.card-content{padding:1.5rem}.rule-description{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0 0 1rem;line-height:1.5}.configuration-section{border-radius:var(--radius-md);background:0 0;margin-top:.75rem;padding:.75rem}.quantity-config{margin-bottom:.75rem}.quantity-config label{font-size:var(--font-size-sm);color:var(--text-primary);margin-bottom:.5rem;font-weight:500;display:block}.quantity-input-group{align-items:center;gap:.5rem;display:flex}.quantity-input{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);width:100px;color:var(--text-primary);font-size:var(--font-size-sm);text-align:center;padding:.5rem}.quantity-input.invalid{border-color:var(--error-color)}.validation-icon{font-size:var(--font-size-sm)}.validation-icon.error{color:var(--error-color)}.validation-icon.warning{color:var(--warning-color)}.validation-icon.success{color:var(--success-color)}.validation-message{font-size:var(--font-size-xs);border-radius:var(--radius-sm);margin-top:.5rem;padding:.5rem}.validation-message.error{background:rgba(var(--error-rgb), .1);color:var(--error-color);border:1px solid rgba(var(--error-rgb), .2)}.validation-message.warning{background:rgba(var(--warning-rgb), .1);color:var(--warning-color);border:1px solid rgba(var(--warning-rgb), .2)}.apply-suggestion-button{background:var(--primary-color);color:#fff;border-radius:var(--radius-sm);font-size:var(--font-size-xs);cursor:pointer;border:none;margin-top:.5rem;padding:.25rem .75rem;transition:background-color .2s}.apply-suggestion-button:hover{background:var(--primary-hover)}.notes-config label{font-size:var(--font-size-sm);color:var(--text-primary);margin-bottom:.5rem;font-weight:500;display:block}.notes-input{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);width:100%;color:var(--text-primary);font-size:var(--font-size-sm);resize:vertical;min-height:60px;padding:.75rem}.notes-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb), .1);outline:none}.tile-details{border-top:1px solid var(--border-light);background:0 0;padding:1rem}.pricing-info{flex-direction:column;gap:.5rem;display:flex}.billing-info{margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);justify-content:space-between;align-items:center;display:flex}.billing-info:last-child{margin-bottom:0}.billing-label{color:var(--text-secondary);font-weight:500}.billing-value{color:var(--text-primary);font-weight:600}.notes-section{border-top:1px solid var(--border-light);margin-top:1rem;padding-top:1rem}.notes-section label{font-size:var(--font-size-sm);color:var(--text-primary);margin-bottom:.5rem;font-weight:500;display:block}.notes-section .notes-input{border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-size:var(--font-size-sm);resize:vertical;background:0 0;min-height:60px;padding:.75rem;font-family:inherit;transition:all .2s}.notes-section .notes-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-rgb), .1);outline:none}.notes-section .notes-input::placeholder{color:var(--text-tertiary)}.quote-summary{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);margin-top:1rem;padding:1.5rem}.quote-summary h4{color:var(--text-primary);font-size:var(--font-size-lg);margin:0 0 1.5rem;font-weight:600}.summary-section{margin-bottom:1.5rem}.summary-section:last-child{margin-bottom:0}.summary-section h5{color:var(--text-primary);font-size:var(--font-size-md);border-bottom:1px solid var(--border-light);margin:0 0 1rem;padding-bottom:.5rem;font-weight:600}.summary-section p{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0 0 .5rem}.summary-section p:last-child{margin-bottom:0}.selected-rule-summary{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);margin-bottom:1rem;padding:1rem}.selected-rule-summary:last-child{margin-bottom:0}.selected-rule-summary h6{color:var(--text-primary);font-size:var(--font-size-md);margin:0 0 .5rem;font-weight:600}.selected-rule-summary p{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0 0 .25rem}.selected-rule-summary p:last-child{margin-bottom:0}.quote-totals{background:var(--bg-primary);border:2px solid var(--primary-color);border-radius:var(--radius-lg);margin-top:1.5rem;padding:1.5rem}.quote-totals h5{color:var(--primary-color);font-size:var(--font-size-lg);text-align:center;margin:0 0 1rem}.total-line{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.total-line:last-child{border-bottom:none}.total-line.grand-total{border-top:2px solid var(--primary-color);font-size:var(--font-size-lg);color:var(--primary-color);margin-top:.5rem;padding-top:1rem}.modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);background:#fff;width:90%;max-width:400px;animation:.3s ease-out modalSlideIn}.success-modal .modal-header{border-bottom:1px solid var(--border-light);align-items:center;gap:12px;padding:24px 24px 16px;display:flex}.success-icon{color:#10b981;font-size:24px}.success-modal .modal-header h3{color:var(--text-primary);margin:0;font-size:18px;font-weight:600}.success-modal .modal-body{padding:16px 24px 24px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.form-row,.service-line-grid{grid-template-columns:1fr}.pricing-rules-grid{gap:.75rem}.step-indicator{flex-direction:column;gap:1rem}.step-item{max-width:none}.step-item:not(:last-child):after{display:none}.step-content{text-align:center;margin-left:0}}.pricing-breakdown-section{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px;margin-top:1rem;padding:1rem}.pricing-breakdown-section .billing-label{color:var(--text-primary);margin-bottom:.75rem;font-weight:600;display:block}.breakdown-details{flex-direction:column;gap:.5rem;display:flex}.breakdown-tier{background:var(--bg-primary);font-size:var(--font-size-sm);border-radius:6px;grid-template-columns:1fr auto auto auto;align-items:center;gap:.75rem;padding:.5rem;display:grid}.tier-range{color:var(--text-primary);font-weight:500}.tier-quantity,.tier-price{color:var(--text-secondary);font-weight:500}.tier-subtotal{color:var(--text-primary);text-align:right;font-weight:600}.breakdown-total{background:var(--primary-color);color:#fff;border-radius:6px;justify-content:space-between;align-items:center;margin-top:.5rem;padding:.75rem;font-weight:600;display:flex}.total-label{font-size:var(--font-size-sm)}.total-amount{font-size:var(--font-size-base)}.loading-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:3rem 1rem;display:flex}.spinner{border:4px solid var(--border-light);border-top:4px solid var(--primary-color);border-radius:50%;width:40px;height:40px;margin-bottom:1rem;animation:1s linear infinite spin}.loading-container p{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0;font-weight:500}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=768px){.breakdown-tier{text-align:center;grid-template-columns:1fr;gap:.25rem}.tier-subtotal{text-align:center}}
