.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,0);z-index:1000;display:none;opacity:0;transition:opacity .3s ease}.modal.show{display:flex;opacity:1;background-color:rgba(0,0,0,.5);align-items:center;justify-content:center}.modal-content{background:var(--surface-color);border-radius:12px;padding:32px;max-width:568px;width:90%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 4px 20px rgba(0,0,0,.15);transform:translateY(-20px);opacity:0;transition:transform .3s ease,opacity .3s ease}.modal.show .modal-content{transform:translateY(0);opacity:1}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.close-modal,.close-certificate-modal{position:absolute;top:20px;right:20px;font-size:24px;cursor:pointer;color:var(--text-secondary);background:none;border:0;padding:4px}.close-modal:hover,.close-certificate-modal:hover{color:var(--text-color)}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color)}.modal .form-actions button{padding:12px 24px;font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s ease;min-width:120px}.modal button.btn-primary{background-color:var(--rooijakkers-red,#c33);color:#fff;border:0}.modal button.btn-primary:hover{background-color:var(--rooijakkers-dark-red,#a22)}.modal button.btn-secondary{background-color:var(--background-color,#f8f9fa);color:var(--text-color,#2c3e50);border:1px solid var(--border-color,#dee2e6)}.modal button.btn-secondary:hover{background-color:var(--border-color,#dee2e6)}@keyframes modalFadeIn{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-content{animation:modalFadeIn .3s ease-out}.form-group{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.form-group label{font-weight:500;margin-bottom:4px}.form-group input,.form-group select{padding:8px;border:1px solid var(--border-color);border-radius:4px}.error-message{color:#dc3545;padding:10px;margin-bottom:16px;background-color:#fce8e8;border-radius:4px;display:none}.modal .form-row{display:flex;gap:16px;margin-bottom:16px}.modal .form-col{flex:1;display:flex;flex-direction:column}.modal .form-col label{font-weight:500;margin-bottom:6px;display:block}.modal .form-col input,.modal .form-col select,.modal .form-col textarea{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;background-color:var(--background-color);box-sizing:border-box}.modal .form-col input:focus,.modal .form-col select:focus,.modal .form-col textarea:focus{outline:0;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.1)}.modal .form-row.full-width{flex-direction:column}.modal .form-row.full-width>div{width:100%}.modal .required{color:#dc3545;margin-left:2px}.modal-content.modal-sm{max-width:400px}.modal-content.modal-lg{max-width:800px}.modal button.btn-danger{background-color:#dc3545;color:#fff;border:0}.modal button.btn-danger:hover{background-color:#c82333}.confirm-message{padding:16px 0;font-size:15px;line-height:1.5;color:var(--text-color,#2c3e50)}.confirm-message p{margin:0}@media(max-width:768px){.modal.show{align-items:flex-start;padding:16px;overflow-y:auto}.modal-content{width:100%;max-width:100%;max-height:none;margin:16px 0;padding:20px;border-radius:8px}.modal-header{margin-bottom:16px}.modal-header h2{font-size:18px;padding-right:30px}.close-modal,.close-certificate-modal{top:16px;right:16px;font-size:20px}.modal .form-row{flex-direction:column;gap:12px;margin-bottom:12px}.modal .form-col input,.modal .form-col select,.modal .form-col textarea{padding:12px;font-size:16px}.form-actions{flex-direction:column-reverse;gap:10px;margin-top:20px;padding-top:16px}.modal .form-actions button{width:100%;min-width:unset;padding:14px 20px}}@media(max-width:480px){.modal.show{padding:8px}.modal-content{padding:16px;margin:8px 0}.modal-header h2{font-size:16px}}