.custom-modal{display:none;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000000b3;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}.custom-modal-content{background-color:var(--white);padding:30px;border-radius:12px;box-shadow:0 8px 25px #0006;width:90%;max-width:450px;position:relative;text-align:center;animation:modalFadeIn .3s ease-out forwards;opacity:0;transform:translateY(-20px)}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.custom-close-button{color:#aaa;position:absolute;top:15px;right:20px;font-size:28px;font-weight:700;cursor:pointer;transition:color .2s ease}.custom-close-button:hover,.custom-close-button:focus{color:var(--secondary-dark)}#customAlertTitle,#customConfirmTitle{font-family:Poppins,sans-serif;font-size:1.6em;color:var(--secondary-dark);margin-bottom:15px}#customAlertMessage,#customConfirmMessage{font-size:1em;color:var(--text-color);margin-bottom:25px;white-space:pre-wrap;text-align:left;max-height:250px;overflow-y:auto;padding-right:5px}.custom-modal-actions{display:flex;justify-content:center;gap:15px}.custom-modal-content button{background-color:var(--primary-yellow);color:var(--secondary-dark);border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:1em;font-weight:600;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease;box-shadow:0 2px 5px #0000001a;flex-grow:1;max-width:150px}.custom-modal-content button:hover{background-color:#e6c200;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}#customConfirmCancelBtn{background-color:#e74c3c;color:var(--white)}#customConfirmCancelBtn:hover{background-color:#c0392b}@media (max-width: 500px){.custom-modal-content{padding:20px;width:95%}#customAlertTitle,#customConfirmTitle{font-size:1.4em;margin-bottom:10px}#customAlertMessage,#customConfirmMessage{font-size:.9em;margin-bottom:20px}.custom-modal-actions{flex-direction:column;gap:10px}.custom-modal-content button{max-width:none;padding:10px 15px;font-size:.9em}}
