.modal-overlay{position:fixed;inset:0;background-color:rgba(0,0,0,.5);backdrop-filter:blur(5px);display:flex;justify-content:center;align-items:center;z-index:1000;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.modal-overlay.active{opacity:1;visibility:visible}.modal-overlay.active .modal-container{transform:translateY(0);opacity:1}.modal-overlay .modal-container{background-color:#fff;width:100%;max-width:450px;border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,.1);padding:32px;transform:translateY(100px);opacity:0;transition:transform .5s cubic-bezier(.175,.885,.32,1.275),opacity .3s ease}.modal-overlay .modal-container .modal-header{text-align:center;margin-bottom:24px}.modal-overlay .modal-container .modal-header h2{color:#333;font-size:24px;margin-bottom:8px}.modal-overlay .modal-container .modal-header p{color:#666;font-size:15px;line-height:1.5}.modal-overlay .modal-container .otp-container{display:flex;justify-content:space-between;margin:32px 0}.modal-overlay .modal-container .otp-container .otp-input{width:54px;height:60px;border:2px solid #e1e1e1;border-radius:8px;text-align:center;font-size:24px;font-weight:700;color:#333;background-color:#f9f9f9;transition:border-color .3s,box-shadow .3s}.modal-overlay .modal-container .otp-container .otp-input:focus{border-color:var(--color-red);box-shadow:0 0 0 3px rgba(76,111,255,.2);outline:none}.modal-overlay .modal-container .submit-btn{width:100%;cursor:pointer;transition:background-color .3s}.modal-overlay .modal-container .submit-btn:hover{opacity:.9}.modal-overlay .modal-container .resend-container{text-align:center;margin-top:24px}.modal-overlay .modal-container .resend-container p{color:#666;font-size:14px;margin-bottom:8px}.modal-overlay .modal-container .resend-container .resend-link{text-decoration:none;font-weight:500;transition:color .3s}.modal-overlay .modal-container .resend-container .resend-link:hover{text-decoration:underline}.modal-overlay .modal-container .timer{font-weight:500;color:#666}.modal-overlay .modal-container .close-btn{position:absolute;top:16px;right:16px;background:0 0;border:none;color:#999;font-size:24px;cursor:pointer;transition:color .3s}.modal-overlay .modal-container .close-btn:hover{color:#333}.trigger-btn{padding:12px 24px;background-color:#4c6fff;color:#fff;border:none;border-radius:6px;font-size:16px;cursor:pointer;transition:background-color .3s}.trigger-btn:hover{background-color:#3a5be8}