/*
 * KSIA portal — authentication screens (login, forgot password, reset password).
 *
 * Loaded after the theme's app.min.css and scoped to .ksia-auth*, so it restyles
 * only these three pages and leaves the rest of the admin theme untouched.
 * Palette matches the public site: #16669b primary, #1a1364 deep navy.
 */

.ksia-auth-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 16px;
    background: linear-gradient(135deg, #1a1364 0%, #16669b 100%);
}

.ksia-auth-card {
    width: 100%;
    max-width: 420px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 18px 50px rgba(10, 20, 40, .28);
    overflow: hidden;
}

.ksia-auth-head {
    padding: 34px 34px 6px;
    text-align: center;
}
.ksia-auth-head img {
    width: 74px;
    height: 74px;
    object-fit: contain;
    margin-bottom: 16px;
}
.ksia-auth-head h1 {
    margin: 0 0 6px;
    color: #1a1364;
    font-size: 21px;
    font-weight: 700;
    letter-spacing: -.2px;
}
.ksia-auth-head p {
    margin: 0;
    color: #6b7680;
    font-size: 13.5px;
    line-height: 1.55;
}

.ksia-auth-body { padding: 24px 34px 32px; }

.ksia-field { margin-bottom: 16px; }
.ksia-field label {
    display: block;
    margin-bottom: 6px;
    color: #3d4852;
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: .2px;
}
.ksia-input-wrap { position: relative; }
.ksia-input-wrap > .ksia-icon {
    position: absolute;
    top: 50%;
    left: 14px;
    width: 16px;
    margin-top: -8px;
    color: #98a2ad;
    text-align: center;
    pointer-events: none;
}
.ksia-auth-card input[type="email"],
.ksia-auth-card input[type="password"],
.ksia-auth-card input[type="text"] {
    width: 100%;
    height: 46px;
    padding: 0 14px 0 40px;
    border: 1px solid #d7dee5;
    border-radius: 6px;
    background: #fff;
    color: #2f3a44;
    font-size: 14px;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.ksia-auth-card input:focus {
    outline: none;
    border-color: #16669b;
    box-shadow: 0 0 0 3px rgba(22, 102, 155, .15);
}
/* room for the reveal button; wide enough that "Show"/"Hide" is not clipped */
.ksia-input-wrap.has-toggle input { padding-right: 68px; }
.ksia-reveal {
    position: absolute;
    top: 50%;
    right: 5px;
    height: 34px;
    padding: 0 11px;
    margin-top: -17px;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: #98a2ad;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 34px;
    cursor: pointer;
}
.ksia-reveal:hover { color: #16669b; background: #f2f6fa; }

.ksia-btn {
    display: block;
    width: 100%;
    height: 46px;
    margin-top: 22px;
    border: 0;
    border-radius: 6px;
    background: #16669b;
    color: #fff;
    font-size: 14.5px;
    font-weight: 600;
    letter-spacing: .2px;
    cursor: pointer;
    transition: background .15s ease, transform .15s ease;
}
.ksia-btn:hover { background: #12557f; }
.ksia-btn:active { transform: translateY(1px); }
.ksia-btn:disabled { opacity: .6; cursor: not-allowed; }

.ksia-auth-links {
    margin-top: 18px;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font-size: 13px;
}
.ksia-auth-links a { color: #16669b; text-decoration: none; }
.ksia-auth-links a:hover { text-decoration: underline; }

.ksia-alert {
    display: flex;
    gap: 10px;
    padding: 12px 14px;
    margin-bottom: 18px;
    border-radius: 6px;
    font-size: 13.5px;
    line-height: 1.5;
}
.ksia-alert-error { background: #fdecee; border: 1px solid #f5c2c9; color: #a11d2c; }
.ksia-alert-success { background: #e9f7ef; border: 1px solid #b7e2c8; color: #1c6b3f; }
.ksia-alert-info { background: #eef4f9; border: 1px solid #c5dcec; color: #14567f; }

.ksia-hint {
    margin: 8px 0 0;
    color: #8a939c;
    font-size: 12px;
    line-height: 1.5;
}

.ksia-auth-foot {
    padding: 16px 34px;
    border-top: 1px solid #eef2f5;
    background: #fbfcfd;
    color: #8a939c;
    font-size: 12px;
    text-align: center;
}
.ksia-auth-foot a { color: #16669b; text-decoration: none; }

@media (max-width: 480px) {
    .ksia-auth-head { padding: 26px 22px 4px; }
    .ksia-auth-body { padding: 20px 22px 26px; }
    .ksia-auth-foot { padding: 14px 22px; }
    .ksia-auth-links { flex-direction: column; gap: 8px; text-align: center; }
}

/*================================================================================
    Public certificate verification (certificate-validation.php)
    Reuses the auth card so the public pages read as one family.
================================================================================*/

.ksia-verify-card { max-width: 470px; }

.ksia-verdict {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 16px;
    margin-bottom: 18px;
    border-radius: 6px;
}
.ksia-verdict strong { display: block; font-size: 15px; margin-bottom: 2px; }
.ksia-verdict span { font-size: 13px; line-height: 1.5; }
.ksia-verdict-mark {
    flex: 0 0 26px;
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    font-size: 15px;
    line-height: 1;
}
.ksia-verdict-valid { background: #e9f7ef; border: 1px solid #b7e2c8; color: #1c6b3f; }
.ksia-verdict-valid .ksia-verdict-mark { background: #1c8a55; }
.ksia-verdict-invalid { background: #fdecee; border: 1px solid #f5c2c9; color: #a11d2c; }
.ksia-verdict-invalid .ksia-verdict-mark { background: #ca1838; }

.ksia-verify-details {
    margin: 0 0 16px;
    padding: 14px 16px;
    border: 1px solid #eef2f5;
    border-radius: 6px;
    background: #fbfcfd;
}
.ksia-verify-details dt {
    margin-top: 10px;
    color: #8a939c;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .7px;
    text-transform: uppercase;
}
.ksia-verify-details dt:first-child { margin-top: 0; }
.ksia-verify-details dd {
    margin: 2px 0 0;
    color: #1a1364;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    word-break: break-word;
}

/* Separate the guidance paragraph from the form that follows it */
.ksia-verify-card .ksia-auth-body > .ksia-hint { margin-bottom: 22px; }
