/* Modal Styles */
.modal-content {
    border: 1px solid rgba(66, 108, 245, 0.1);
    box-shadow: 0 0 20px rgba(66, 108, 245, 0.1);
}

.bg-darker {
    background-color: #1a1a1a;
}

.border-gray-700 {
    border-color: rgba(255, 255, 255, 0.1) !important;
}

/* Form Styles */
.form-control {
    color: white;
}

.form-control:focus {
    background-color: #1a1a1a;
    border-color: #426CF5;
    box-shadow: 0 0 0 0.2rem rgba(66, 108, 245, 0.25);
    color: white;
}

/* Success Animation */
.checkmark {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: block;
    stroke-width: 2;
    stroke: #426CF5;
    stroke-miterlimit: 10;
    box-shadow: 0 0 15px rgba(66, 108, 245, 0.5);
    animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both;
}

.checkmark__circle {
    stroke-dasharray: 166;
    stroke-dashoffset: 166;
    stroke-width: 2;
    stroke-miterlimit: 10;
    stroke: #426CF5;
    fill: none;
    animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}

.checkmark__check {
    transform-origin: 50% 50%;
    stroke-dasharray: 48;
    stroke-dashoffset: 48;
    animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
}

/* Error Animation */
.error-circle {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: block;
    stroke-width: 2;
    stroke: #ff4b4b;
    stroke-miterlimit: 10;
    box-shadow: 0 0 15px rgba(255, 75, 75, 0.5);
    animation: fillError .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both;
}

.error-circle__circle {
    stroke-dasharray: 166;
    stroke-dashoffset: 166;
    stroke-width: 2;
    stroke-miterlimit: 10;
    stroke: #ff4b4b;
    fill: none;
    animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}

.error-circle__cross {
    transform-origin: 50% 50%;
    stroke-dasharray: 48;
    stroke-dashoffset: 48;
    animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
}

/* Animations */
@keyframes stroke {
    100% {
        stroke-dashoffset: 0;
    }
}

@keyframes scale {
    0%, 100% {
        transform: none;
    }
    50% {
        transform: scale3d(1.1, 1.1, 1);
    }
}

@keyframes fill {
    100% {
        box-shadow: inset 0 0 0 100px rgba(66, 108, 245, 0.1);
    }
}

@keyframes fillError {
    100% {
        box-shadow: inset 0 0 0 100px rgba(255, 75, 75, 0.1);
    }
}

/* Fireworks */
.firework {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 9999;
}

/* Responsive Styles */
@media (max-width: 768px) {
    .modal-dialog {
        margin: 1rem;
    }
    
    .checkmark, .error-circle {
        width: 60px;
        height: 60px;
    }
}

/* Loading Spinner */
.spinner-border {
    width: 3rem;
    height: 3rem;
    color: #426CF5 !important;
} 