.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.modal-content{background:#fff;border-radius:12px;position:relative;width:100%;max-width:450px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.modal-header{padding:24px 24px 16px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.modal-title{font-size:1.5rem;font-weight:600;color:#111827;margin:0 0 8px}.modal-subtitle{color:#6b7280;font-size:.875rem;margin:0}.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.modal-close:hover{background:#f3f4f6;color:#374151}.modal-content form{display:flex;flex-direction:column;flex:1;min-height:0}.modal-body{padding:24px;overflow-y:auto;flex:1;min-height:0}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-weight:500;color:#374151;margin-bottom:8px;font-size:.875rem}.form-control{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:.875rem;transition:all .2s ease;background:#fff;color:#111827!important;box-sizing:border-box}.form-control:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.form-control::-moz-placeholder{color:#9ca3af}.form-control::placeholder{color:#9ca3af}.form-control:disabled{background:#f9fafb;color:#6b7280;cursor:not-allowed}textarea.form-control{resize:vertical;min-height:100px;font-family:inherit}.modal-footer{padding:16px 24px 24px;border-top:1px solid #e5e7eb;flex-shrink:0}.btn-md{padding:12px 24px;font-size:.875rem}.w-100{width:100%}@media (max-width:640px){.modal-overlay{padding:16px}.modal-content{max-width:100%;margin:0;max-height:95vh}.modal-header{padding:20px 20px 12px}.modal-body{padding:20px}.modal-footer{padding:12px 20px 20px}.modal-title{font-size:1.25rem;padding-right:40px}}@media (max-width:480px){.modal-overlay{padding:12px}.modal-header{padding:16px 16px 12px}.modal-body{padding:16px}.modal-footer{padding:12px 16px 16px}.form-control{padding:10px 14px}}