.form-container { max-width: 600px; margin: 2rem auto; padding: 0 2rem; }
    .form-card { background: white; padding: 2rem; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
    .form-group { margin-bottom: 1.5rem; }
    label { display: block; margin-bottom: 0.5rem; font-weight: 600; color: #1f2937; }
    input, select, textarea { width: 100%; padding: 0.75rem; border: 1px solid #d1d5db; border-radius: 4px; font-size: 1rem; }
    input:focus, select:focus, textarea:focus { outline: none; border-color: #667eea; box-shadow: 0 0 0 3px rgba(102,126,234,0.1); }
    .form-hint { font-size: 0.85rem; color: #666; margin-top: 0.25rem; }
    .btn-submit { width: 100%; padding: 0.875rem; background: linear-gradient(135deg, #667eea, #764ba2); color: white; border: none; border-radius: 4px; font-weight: 600; cursor: pointer; }
    .btn-submit:hover { opacity: 0.9; }
    .alert { padding: 1rem; border-radius: 4px; margin-bottom: 1.5rem; }
    .alert-error { background: #fee2e2; color: #991b1b; border: 1px solid #fecaca; }
    .alert-success { background: #dcfce7; color: #166534; border: 1px solid #bbf7d0; }
    .quote-preview { background: #f9fafb; padding: 1rem; border-radius: 4px; margin-top: 1rem; }
    .quote-row { display: flex; justify-content: space-between; margin-bottom: 0.5rem; }
