.contact-wrapper{background:#f1f5f9;display:flex;flex-direction:column;height:100%;justify-content:flex-start;min-height:calc(100vh - 88px)}.contact-wrapper .spacer{flex:1}.contact-container{background:#fff;border-radius:12px;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);margin:4rem auto;max-width:600px;padding:2rem;width:100%}.contact-container h2.contact-title{margin:1rem 0 3rem 0;text-align:center}.contact-container .flash{animation:slideIn .4s ease-out;border-radius:6px;font-weight:600;margin-bottom:1.5rem;padding:1rem}.contact-container .flash.success{background-color:color-mix(in srgb, #fff, #16a34a 10%);border:1px solid #16a34a;color:#16a34a}.contact-container .flash.error,.contact-container .flash.info,.contact-container .flash.danger{background-color:color-mix(in srgb, #fff, #dc2626 10%);border:1px solid #dc2626;color:#dc2626}.contact-container .contact-form{display:grid;gap:1.5rem}.contact-container .contact-form .field{display:flex;flex-direction:column;gap:.5rem}.contact-container .contact-form .field label{color:#334155;font-weight:600;font-size:.9rem}.contact-container .contact-form .field label .required{color:#dc2626;margin-left:.2rem}.contact-container .contact-form .field input,.contact-container .contact-form .field textarea{accent-color:#2563eb;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;font-size:1rem;padding:.75rem;transition:all .3s cubic-bezier(0.4, 0, 0.2, 1)}.contact-container .contact-form .field input:focus,.contact-container .contact-form .field textarea:focus{background:#fff;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1);outline:none}.contact-container .contact-form .field input.has-error,.contact-container .contact-form .field textarea.has-error{border-color:#dc2626;background-color:color-mix(in srgb, #fff, #dc2626 5%)}.contact-container .contact-form .field input.has-error:focus,.contact-container .contact-form .field textarea.has-error:focus{box-shadow:0 0 0 3px rgba(220,38,38,.1)}.contact-container .contact-form .field textarea{min-height:150px;resize:vertical}.contact-container .contact-form .field .error-text{color:#dc2626;font-size:.8rem;margin-top:.2rem}.contact-container .contact-form .actions{display:flex;justify-content:center}.contact-container .contact-form .btn-submit{appearance:none;background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:700;margin-bottom:1rem;margin-top:1rem;padding:1rem 2rem;transition:all .3s cubic-bezier(0.4, 0, 0.2, 1)}.contact-container .contact-form .btn-submit:hover{background:color-mix(in srgb, #000, #2563eb 85%);transform:translateY(-1px)}.contact-container .contact-form .btn-submit:active{transform:translateY(0)}.contact-container .contact-form .btn-submit:disabled{background:#94a3b8;cursor:not-allowed;transform:none}.contact-container .contact-form .success-actions{text-align:center;padding:2rem 0}.contact-container .contact-form .success-actions p{margin-bottom:1.5rem;color:#475569;line-height:1.6}.contact-container .contact-form .success-actions .btn-return{display:inline-block;text-decoration:none;background:#f1f5f9;color:#1e293b;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;transition:all .3s cubic-bezier(0.4, 0, 0.2, 1)}.contact-container .contact-form .success-actions .btn-return:hover{background:#e2e8f0}.contact-form-error-dialog{padding:0;border:none;border-radius:8px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);width:90%;max-width:450px;left:50%;transform:translateX(-50%);top:50%;transform:translate(-50%, -50%)}.contact-form-error-dialog::backdrop{background:rgba(0,0,0,.5);backdrop-filter:blur(2px)}.contact-form-error-dialog .dialogBody{display:flex;flex-direction:column;margin:0}.contact-form-error-dialog .dialogHeader{background:#fef2f2;color:#991b1b;padding:1rem;font-weight:bold;border-bottom:1px solid #fee2e2}.contact-form-error-dialog .dialogContent{padding:1.5rem;max-height:60vh;overflow-y:auto}.contact-form-error-dialog .dialogContent p{margin:.5rem 0;font-size:.95rem;color:#4b5563}.contact-form-error-dialog .dialogFooter{padding:1rem;background:#f9fafb;text-align:right;border-top:1px solid #e5e7eb}.contact-form-error-dialog .dialogFooter button{padding:.5rem 1.5rem;background:#374151;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600}.contact-form-error-dialog .dialogFooter button:hover{background:#111827}