/* Full background */
body.login-pf {
    background: #0d1117; /* deep gray/black background */
    color: #e6edf3;
    display: flex;
    align-items: center;
    min-height: 100vh;
}

/* Card container */
.login-pf-page .card-pf {
    background: #161b22; /* slightly lighter panel */
    box-shadow: 0 8px 24px rgba(0,0,0,0.6);
    max-width: 400px;
    width: 100%;
}

.pf-c-input-group .pf-c-button.pf-m-control {
    border: none;
    background-color: #161b22; /* slightly lighter than input bg */
    color: #e6edf3;
}

.pf-c-button.pf-m-control {
    --pf-c-button--after--BorderColor: #434343; /* slightly lighter than input bg */
}

.login-pf-header h1#kc-page-title {
    font-size: 1.75rem;
    font-weight: 600;
    color: #58a6ff; /* OHIF-like bright blue */
    text-align: center;
}

/* Labels */
.pf-c-form__label-text {
    font-weight: 500;
    color: #c9d1d9;
    display: block;
}

/* Inputs */
.pf-c-form-control {
    border: 1px solid #30363d;
    background-color: #0d1117;
    color: #e6edf3;
    font-size: 1rem;
    width: 100%;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.pf-c-form-control:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(88,166,255,0.3);
}

/* Password toggle button */
.pf-c-button.pf-m-control {
    border: 1px solid #30363d;
    border-left: none;
    background-color: #21262d;
    color: #e6edf3;
}

/* Primary button */
#kc-login.pf-c-button.pf-m-primary {
    background-color: #238636; /* green accent (GitHub dark style) */
    border: none;
    padding: 0.75rem;
    font-size: 1rem;
    font-weight: 600;
    transition: background-color 0.2s;
}

#kc-login.pf-c-button.pf-m-primary:hover {
    background-color: #2ea043;
}

/* Links and options */
#kc-form-options, #kc-info {
    text-align: center;
    font-size: 0.9rem;
    color: #8b949e;
}

#kc-form-options a,
#kc-info a {
    color: #58a6ff;
    text-decoration: none;
}

#kc-form-options a:hover,
#kc-info a:hover {
    text-decoration: underline;
}
