.contact-dialog-trigger-wrapper{display:inline}.contact-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50}.contact-dialog-content{background-color:white;border-radius:1rem;padding:2rem;max-width:42rem;width:100%;max-height:90vh;overflow-y:auto}.contact-dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.contact-dialog-title{font-size:1.5rem;font-weight:700;color:#111827}.contact-dialog-close-button{padding:.5rem;border-radius:.5rem;transition:background-color .2s}.contact-dialog-close-button:hover{background-color:#f3f4f6}.contact-dialog-close-icon{width:1.25rem;height:1.25rem}.contact-dialog-form{display:flex;flex-direction:column;gap:1.5rem}.contact-dialog-form-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width:768px){.contact-dialog-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.contact-dialog-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.contact-dialog-label-icon{width:1rem;height:1rem;display:inline;margin-right:.25rem}.contact-dialog-input{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;transition:all .2s}.contact-dialog-input:focus{outline:none;border-color:transparent;box-shadow:0 0 0 2px #3b82f6}.contact-dialog-textarea{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;transition:all .2s;resize:vertical}.contact-dialog-textarea:focus{outline:none;border-color:transparent;box-shadow:0 0 0 2px #3b82f6}.contact-dialog-upload-area{border:2px dashed #d1d5db;border-radius:.5rem;padding:1.5rem;text-align:center;transition:border-color .2s}.contact-dialog-upload-area:hover{border-color:#60a5fa}.contact-dialog-file-input{display:none}.contact-dialog-upload-icon{width:3rem;height:3rem;color:#9ca3af;margin:0 auto 1rem}.contact-dialog-upload-text{color:#4b5563;margin-bottom:.5rem}.contact-dialog-upload-hint{font-size:.875rem;color:#6b7280}.contact-dialog-select-button{margin-top:1rem;background-color:#2563eb;color:white;padding:.5rem 1rem;border-radius:.5rem;border:none;cursor:pointer;transition:background-color .2s}.contact-dialog-select-button:hover{background-color:#1d4ed8}.contact-dialog-uploaded-section{margin-top:1rem}.contact-dialog-uploaded-title{font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.contact-dialog-uploaded-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}@media (min-width:768px){.contact-dialog-uploaded-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.contact-dialog-uploaded-item{position:relative}.contact-dialog-uploaded-image{width:100%;height:6rem;object-fit:cover;border-radius:.5rem;border:1px solid #e5e7eb}.contact-dialog-uploaded-remove{position:absolute;top:-.5rem;right:-.5rem;background-color:#ef4444;color:white;border-radius:9999px;padding:.25rem;opacity:0;transition:opacity .2s;border:none;cursor:pointer}.contact-dialog-uploaded-item:hover .contact-dialog-uploaded-remove{opacity:1}.contact-dialog-uploaded-remove-icon{width:.75rem;height:.75rem}.contact-dialog-uploaded-filename{font-size:.75rem;color:#6b7280;margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-dialog-actions{display:flex;justify-content:flex-end;gap:1rem}.contact-dialog-cancel-button{padding:.75rem 1.5rem;color:#374151;border:1px solid #d1d5db;border-radius:.5rem;background-color:white;cursor:pointer;transition:background-color .2s}.contact-dialog-cancel-button:hover{background-color:#f9fafb}.contact-dialog-submit-button{padding:.75rem 1.5rem;background-color:#2563eb;color:white;border-radius:.5rem;border:none;cursor:pointer;transition:background-color .2s;display:flex;align-items:center}.contact-dialog-submit-button:hover{background-color:#1d4ed8}.contact-dialog-submit-button:disabled{opacity:.5;cursor:not-allowed}.contact-dialog-spinner{animation:spin 1s linear infinite;border-radius:9999px;width:1rem;height:1rem;border:2px solid transparent;border-bottom-color:white;margin-right:.5rem}@keyframes spin{to{transform:rotate(1turn)}}.contact-dialog-submit-icon{width:1rem;height:1rem;margin-right:.5rem}.contact-dialog-default-button{background-color:white;color:#374151;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;border:1px solid #d1d5db;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.contact-dialog-default-button:hover{background-color:#f9fafb}