/* Custom Styles for GTSC Login Page */

/* Base body background with smooth gradient */
body#keycloak-bg {
    background: radial-gradient(circle at 50% 50%, #1e293b 0%, #0f172a 100%) !important;
    background-size: cover !important;
    font-family: 'Outfit', 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* Glassmorphism card container */
.pf-v5-c-login__container {
    background: rgba(15, 23, 42, 0.75) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 16px !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5) !important;
    padding: 32px !important;
    max-width: 440px !important;
    width: 100% !important;
}

/* Transparent components to let the glass effect shine through */
.pf-v5-c-login__main, 
.pf-v5-c-login__main-header,
.pf-v5-c-login__main-body,
.pf-v5-c-login__main-footer {
    background: transparent !important;
}

/* Custom header with brand logo */
#kc-header-wrapper.pf-v5-c-brand {
    display: block !important;
    background-image: url('../img/gtsc-logo.png') !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    height: 60px !important;
    width: 180px !important;
    margin: 0 auto 16px auto !important;
    font-size: 0 !important;
    color: transparent !important;
}

/* Title text */
.pf-v5-c-title {
    color: #f8fafc !important;
    font-weight: 700 !important;
    text-align: center !important;
    font-size: 24px !important;
    letter-spacing: -0.025em !important;
    margin-top: 10px !important;
}

/* Input label styling */
.pf-v5-c-form__label-text {
    color: #cbd5e1 !important;
    font-weight: 500 !important;
    font-size: 14px !important;
}

/* Custom input fields with smooth focus animations */
.pf-v5-c-form-control input {
    background-color: #0f172a !important;
    border: 1px solid #334155 !important;
    color: #f8fafc !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.pf-v5-c-form-control input:focus {
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2) !important;
}

/* Password eye button matching inputs */
.pf-v5-c-button.pf-m-control {
    background-color: #0f172a !important;
    border: 1px solid #334155 !important;
    color: #94a3b8 !important;
    border-radius: 0 8px 8px 0 !important;
    border-left: none !important;
    padding: 0 14px !important;
}

.pf-v5-c-input-group__item .pf-v5-c-form-control input {
    border-radius: 8px 0 0 8px !important;
}

/* Checkbox styling */
.pf-v5-c-check__label {
    color: #94a3b8 !important;
    font-size: 13px !important;
}

/* Button style with micro-animations */
.pf-v5-c-button.pf-m-primary {
    background-color: #2563eb !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 10px 16px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 6px -1px rgba(37, 99, 235, 0.1), 0 2px 4px -1px rgba(37, 99, 235, 0.06) !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    cursor: pointer !important;
}

.pf-v5-c-button.pf-m-primary:hover {
    background-color: #1d4ed8 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 10px 15px -3px rgba(37, 99, 235, 0.3), 0 4px 6px -2px rgba(37, 99, 235, 0.05) !important;
}

.pf-v5-c-button.pf-m-primary:active {
    transform: translateY(0) !important;
}

/* Links and footer helper texts */
.pf-v5-c-login__main-footer-links-item-link,
.pf-v5-c-form__helper-text a {
    color: #60a5fa !important;
    font-size: 13px !important;
    text-decoration: none !important;
    transition: color 0.15s ease !important;
}

.pf-v5-c-login__main-footer-links-item-link:hover,
.pf-v5-c-form__helper-text a:hover {
    color: #93c5fd !important;
    text-decoration: underline !important;
}
