
@keyframes pulse-glow-border {
    from {
        box-shadow: 0 0 15px rgba(0, 246, 255, 0.5), inset 0 0 15px rgba(0, 246, 255, 0.4);
    }
    to {
        box-shadow: 0 0 40px rgba(0, 246, 255, 0.9), inset 0 0 20px rgba(0, 246, 255, 0.7);
    }
}

.titan-login-container {
    position: fixed;
    top: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
    border: 2px solid #00ffff;
    pointer-events: none;
    z-index: 10;
    animation: pulse-glow-border 3s infinite alternate;
    border-radius: 0.5rem;
}

.login-body::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(10, 25, 47, 0.30); 
    z-index: 1;
}

.login-body > .container {
    position: relative;
    z-index: 2;
}

.card-titan-style {
    background-color: rgba(26, 34, 51, 0.85) !important;
    border: 1px solid #00ffff !important;
    box-shadow: 0 0 25px rgba(0, 255, 255, 0.6) !important;
    color: #fff !important;
    backdrop-filter: blur(10px);
    border-radius: .5rem;
    padding: 1.5rem 2rem !important; 
}


.card-titan-style .mb-3 {
    margin-bottom: 0.75rem !important;
}
.card-titan-style .mb-4 {
    margin-bottom: 1rem !important;
}


.card-header-titan-style {
    color: #fff !important;
    font-family: 'Poppins', sans-serif;
    font-size: 1.75rem;
    font-weight: 600;
    text-shadow: 0 0 10px #00ffff;
    margin-bottom: 1.5rem !important;
}

.form-label-titan-style {
    font-weight: 600;
    color: #00ffff;
    text-shadow: 0 0 3px #00ffff;
}

.input-group-text-titan-style {
    background-color: rgba(0,0,0,0.3) !important;
    border: 1px solid #3a505b !important;
    border-right: none !important;
}
.input-group-text-titan-style i {
    color: #00ffff !important;
    text-shadow: 0 0 8px #00ffff;
}

.form-control-titan-style {
    background-color: rgba(0,0,0,0.3) !important;
    border: 1px solid #3a505b !important;
    color: #e1e1e1 !important;
    border-radius: 0 4px 4px 0 !important;
    transition: all 0.3s ease !important;
}
.form-control-titan-style:focus {
    background-color: rgba(0,0,0,0.5) !important;
    border-color: #00ffff !important;
    box-shadow: 0 0 10px #00ffff !important;
}

.form-control-titan-style::placeholder {
  color: #5d6573 !important;
  opacity: 1; 
}


.btn-titan-style-primary {
    background-color: transparent !important;
    border: 1px solid #00ffff !important;
    color: #00ffff !important;
    font-weight: 600;
    transition: all 0.3s ease;
    padding: 10px;
    font-size: 1.1rem;
}
.btn-titan-style-primary:hover {
    background-color: #00ffff !important;
    color: #1a2233 !important;
    box-shadow: 0 0 15px #00ffff;
}

.alert-titan-style {
    border: 1px solid;
    background-color: rgba(26, 34, 51, 0.8);
    color: #fff;
    padding: 1rem;
    border-radius: .25rem;
    font-weight: 500;
}
.alert-titan-style.alert-danger { 
    border-color: var(--danger-color); 
    box-shadow: 0 0 10px var(--danger-color);
}
.alert-titan-style.alert-success { 
    border-color: var(--success-color); 
    box-shadow: 0 0 10px var(--success-color);
}

.hr-titan-style {
    border-color: rgba(0, 255, 255, 0.5) !important;
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
}

.footer-text-titan-style p {
    color: #b0c4de;
}
.footer-text-titan-style a {
    color: #00ffff;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}
.footer-text-titan-style a:hover {
    text-shadow: 0 0 8px #00ffff;
    color: #fff;
}

.g-recaptcha {
    filter: invert(0.9) hue-rotate(180deg);
    border-radius: 4px;
}

.register-page .card-titan-style {
    padding: 1.5rem 1.75rem !important;
}
.register-page .card-header-titan-style {
    font-size: 1.5rem !important;
    margin-bottom: 1.25rem !important;
}
.register-page .mb-3 {
    margin-bottom: 0.9rem !important;
}


@media (max-height: 920px) {
    .register-page .card-titan-style {
        padding: 1rem 1.5rem !important;
        margin-top: 1rem !important;
        margin-bottom: 1rem !important;
    }

    .register-page .card-header-titan-style {
        font-size: 1.3rem !important; 
        margin-bottom: 0.75rem !important;
    }

    .register-page .mb-3 {
        margin-bottom: 0.4rem !important; 
    }

    .register-page .form-label-titan-style {
        font-size: 0.8rem !important; 
        margin-bottom: 0.1rem !important;
    }
    
    .register-page .g-recaptcha {
        transform: scale(0.9);
        transform-origin: center;
    }

    .register-page .form-check {
        font-size: 0.8rem !important; 
        margin-top: 0.5rem !important;
    }

    .register-page .hr-titan-style {
        margin-top: 0.75rem !important;
        margin-bottom: 0.75rem !important;
    }

    .register-page .footer-text-titan-style p {
        margin-bottom: 0.25rem !important;
        font-size: 0.85rem !important;
    }
}