.modal-overlay{align-items:center;animation:modalOverlayFadeIn .3s ease;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-container{animation:modalContentSlideIn .3s ease-out;background-color:#fff;border-radius:8px;box-shadow:0 5px 15px #0000004d;max-height:90vh;overflow-y:auto;width:90%}.calendar-config-modal .modal-container,.modal-large{max-width:1200px!important;min-width:800px!important;width:95%!important}@media (max-width:900px){.calendar-config-modal .modal-container{min-width:auto!important;width:95%!important}}.modal-header{align-items:center;background:#f7f7f9;border-bottom:1px solid #ececec;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:24px 32px 16px}.modal-header h2{color:#222;font-size:1.4rem;font-weight:600;margin:0;padding:0}.modal-close{background:none;border:none;color:#888;cursor:pointer;font-size:2rem;margin-left:16px;transition:color .2s}.modal-close:hover{color:#5b21b6}.modal-content{padding:32px 32px 24px}.modal-form-row{align-items:flex-end;display:flex;gap:32px;margin-bottom:20px}.modal-form-group{display:flex;flex:1 1;flex-direction:column;min-width:180px}.modal-form-group-full{flex:2 1}.modal-form-group label{color:#444;font-size:1rem;font-weight:500;margin-bottom:6px}.modal-form-group input[type=number],.modal-form-group input[type=text],.modal-form-group select,.modal-form-group textarea{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:1.08rem;margin-bottom:0;min-height:44px;padding:10px 12px;transition:border .2s;width:100%}.modal-form-group textarea{min-height:70px;resize:vertical}.modal-form-group input[type=checkbox]{height:18px;margin-right:8px;vertical-align:middle;width:18px}.modal-form-group label[for]{display:block}.modal-form-actions{align-items:center;display:flex;gap:16px;margin-top:24px}.modal-form-row .modal-form-group label input[type=checkbox]{margin-bottom:0;margin-top:0;vertical-align:middle}.modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:10px;justify-content:flex-end;padding:15px 20px}@keyframes modalOverlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalContentSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.modal-container{max-height:95vh;width:95%}.modal-footer{flex-direction:column}.modal-footer button{width:100%}}