.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000;opacity:0;transition:opacity .3s ease}.modal-overlay.show{opacity:1}.modal-content{background:#fefefe;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;position:relative;transform:translateY(20px);transition:transform .3s ease;border:1px solid #e5e7eb;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}:root.dark .modal-content{background:#1f2937;border-color:#374151}.modal-overlay.show .modal-content{transform:translateY(0)}.modal-header{padding:2rem 2rem 1rem;position:relative}.modal-body{padding:0 2rem 2rem}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;color:#6b7280;cursor:pointer;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.modal-close:hover{color:#004225}:root.dark .modal-header h3{color:#f9fafb}:root.dark .modal-close,:root.dark .modal-header p{color:#d1d5db}:root.dark .modal-close:hover{color:#f9fafb}.form-group{margin-bottom:1.5rem}.form-group:last-child{margin-bottom:0}.modal-content input[type=email],.modal-content input[type=text],.modal-content select{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:0;background-color:white;color:#111827;font-size:1rem;line-height:1.5;transition:border-color .2s ease,box-shadow .2s ease}.modal-content input[type=email]:focus,.modal-content input[type=text]:focus,.modal-content select:focus{outline:none;border-color:#004225;box-shadow:0 0 0 1px #004225}.modal-content input[type=email]::placeholder,.modal-content input[type=text]::placeholder{color:#9ca3af}:root.dark .modal-content input[type=email],:root.dark .modal-content input[type=text],:root.dark .modal-content select{background-color:#374151;border-color:#4b5563;color:#f9fafb}:root.dark .modal-content input[type=email]:focus,:root.dark .modal-content input[type=text]:focus,:root.dark .modal-content select:focus{border-color:#004225;box-shadow:0 0 0 1px #004225}.modal-content label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}:root.dark .modal-content label{color:#f3f4f6}.modal-content .help-text{color:#6b7280;font-size:.75rem;margin-top:.25rem;line-height:1.2}:root.dark .modal-content .help-text{color:#d1d5db}.modal-content .error-message{color:#dc2626;font-size:.875rem;margin-top:.25rem;margin-bottom:0;line-height:1.2;display:block;position:static;background-color:#fef2f2;border:1px solid #fecaca;padding:.5rem;box-shadow:none;border-radius:0;width:auto;height:auto;z-index:auto}:root.dark .modal-content .error-message{background-color:#451a03;border-color:#92400e;color:#fbbf24}.modal-content button[type=submit]{width:100%;background-color:#1d5019;color:white;padding:.75rem 1.5rem;font-size:1.125rem;font-weight:500;border:none;cursor:pointer;transition:background-color .2s ease}.modal-content button[type=submit]:hover:not(:disabled){background-color:#0f3a0c}:root.dark .modal-content button[type=submit]{background-color:#004225}:root.dark .modal-content button[type=submit]:hover:not(:disabled){background-color:#002e1a}.modal-content button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.modal-content .button-group{display:flex;justify-content:flex-end;gap:1rem}.modal-content .button-group button[type=button]{background:none;border:none;color:#6b7280;padding:.75rem 1rem;font-size:1rem;cursor:pointer;transition:color .2s ease;text-align:center;display:flex;align-items:center;justify-content:center}.modal-content .button-group button[type=button]:hover:not(:disabled){color:#374151}.modal-content .button-group button[type=button]:disabled{opacity:.5;cursor:not-allowed}:root.dark .modal-content .button-group button[type=button]{color:#d1d5db}:root.dark .modal-content .button-group button[type=button]:hover:not(:disabled){color:#f3f4f6}@media (max-width:768px){.modal-content{width:95%;margin:1rem}.modal-header{padding:1.5rem 1.5rem 1rem}.modal-body{padding:0 1.5rem 1.5rem}}