﻿/* Giriş ve kayıt sayfaları – kurumsal tema (yalnızca görünüm) */
:root {
    --c-ink: #0E2236;
    --c-ink-2: #16314B;
    --c-primary: #1F5F99;
    --c-primary-hover: #194F80;
    --c-surface: #FFFFFF;
    --c-surface-muted: #F6F8FA;
    --c-danger: #B42318;
    --c-line: #D5DCE4;
    --c-text: #1B2633;
    --c-text-muted: #5B6776;
    --radius: 4px;
    --radius-lg: 6px;
}

body.login-page,
body.register-page {
    font-family: "IBM Plex Sans", "Segoe UI", system-ui, Arial, sans-serif;
    font-size: 13.5px;
    color: var(--c-text);
    background: var(--c-ink) !important;
    /* AdminLTE Layout eklentisi body'ye hatalı bir inline min-height yazabiliyor; kart ortada kalsın */
    min-height: 100vh !important;
}

.login-box .card,
.register-box .card,
.login-page .card,
.register-page .card {
    border: 1px solid rgba(255, 255, 255, .08) !important;
    border-top: 3px solid var(--c-primary) !important;
    border-radius: var(--radius-lg) !important;
    background: #fff !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, .35) !important;
    backdrop-filter: none !important;
    animation: none !important;
}

.login-page .card-header,
.register-page .card-header {
    padding: 24px 16px 16px !important;
    border-bottom: 1px solid #E6EAEF !important;
}

.login-page .card-header .h1,
.register-page .card-header .h1,
.login-page .card-header a,
.register-page .card-header a {
    font-size: 22px !important;
    font-weight: 600;
    color: var(--c-ink-2) !important;
    background: none !important;
    -webkit-text-fill-color: currentColor !important;
}

.login-page .card-header .h1 b,
.register-page .card-header .h1 b { color: var(--c-primary) !important; font-weight: 700; }

.login-logo { height: 56px !important; width: auto !important; margin-bottom: 8px; }

.login-box-msg,
.register-box-msg {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--c-text-muted) !important;
}

.login-page .form-control,
.register-page .form-control {
    height: 38px;
    padding: 6px 12px !important;
    font-size: 13.5px !important;
    border: 1px solid var(--c-line) !important;
    border-radius: var(--radius) 0 0 var(--radius) !important;
    box-shadow: none !important;
    transition: border-color .12s ease !important;
}

.login-page .form-control:focus,
.register-page .form-control:focus {
    border-color: var(--c-primary) !important;
    box-shadow: 0 0 0 3px rgba(31, 95, 153, .16) !important;
}

.login-page .input-group-text,
.register-page .input-group-text {
    border: 1px solid var(--c-line) !important;
    border-left: 0 !important;
    border-radius: 0 var(--radius) var(--radius) 0 !important;
    color: var(--c-text-muted);
    background: #F6F8FA !important;
}

.login-page .form-control:focus + .input-group-append .input-group-text,
.register-page .form-control:focus + .input-group-append .input-group-text { border-color: var(--c-primary) !important; }

.login-page .input-group,
.register-page .input-group { margin-bottom: 12px !important; }

.btn-login,
.btn-register {
    min-height: 38px;
    padding: 8px 16px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    border: 0 !important;
    border-radius: var(--radius) !important;
    background: var(--c-primary) !important;
    box-shadow: none !important;
    transform: none !important;
}

.btn-login:hover,
.btn-register:hover { background: var(--c-primary-hover) !important; transform: none !important; box-shadow: none !important; }

.login-page a.btn-google-login {
    min-height: 38px;
    padding: 8px 16px;
    border: 1px solid var(--c-line);
    border-radius: var(--radius);
    background: var(--c-surface);
    color: var(--c-ink-2);
    font-size: 13.5px;
    font-weight: 600;
    line-height: 20px;
    text-decoration: none;
}

.login-page a.btn-google-login:hover {
    background: var(--c-surface-muted);
    color: var(--c-ink-2);
}

.btn-google-login .fa-google { color: var(--c-danger); }

.login-page .btn-microsoft-login {
    min-height: 38px;
    padding: 8px 16px;
    border: 1px solid var(--c-line);
    border-radius: var(--radius);
    background: var(--c-surface);
    color: var(--c-ink-2);
    font-size: 13.5px;
    font-weight: 600;
    line-height: 20px;
    text-decoration: none;
}

.login-page .btn-microsoft-login:hover:not(:disabled) {
    background: var(--c-surface-muted);
    color: var(--c-ink-2);
}

.login-page .btn-microsoft-login:disabled {
    cursor: not-allowed;
    opacity: .65;
}

.btn-microsoft-login .fa-microsoft { color: var(--c-primary); }

.activation-page .btn-register,
.activation-page .btn-register:hover { color: var(--c-surface) !important; }

.login-page a,
.register-page a { color: var(--c-primary); }

.login-page :focus-visible,
.register-page :focus-visible { outline: 2px solid var(--c-primary); outline-offset: 1px; }

/* ---------- Giriş kartı düzeni (31.10.2026) ----------
   sessions.js'in kullandığı .row / .respText / .btn-login / .login-box-msg yapısı korunur;
   yalnızca yerleşim CSS ile düzenlenir. 2FA ve şifre sıfırlama adımları da aynı düzeni kullanır. */
.login-page .login-box { width: 380px; max-width: calc(100vw - 32px); }
.login-page .card-header { padding: 28px 24px 12px !important; border-bottom: 0 !important; }
.login-page .login-logo { height: 52px !important; margin-bottom: 6px; }
.login-page .auth-brand { margin: 4px 0 0; font-size: 22px !important; font-weight: 600; color: var(--c-ink-2) !important; }
.login-page .card-header .auth-brand b { color: var(--c-ink-2) !important; font-weight: 700; }
/* Beyaz zeminde okunabilir koyu altın (marka altınının koyu tonu) */
.login-page .auth-brand .brand-accent { color: #8C6D2C; }
.login-page .card-body { padding: 8px 24px 24px !important; }
.login-page .login-box-msg { margin: 0 0 20px !important; padding: 0 !important; }

/* Mesaj ve buton tam genişlikte; mesaj butonun üstünde */
.login-page .card-body > .row { display: flex; flex-direction: column; margin: 4px 0 0; }
.login-page .card-body > .row > [class*="col-"] { flex: 0 0 100%; max-width: 100%; margin: 0; padding: 0; }
.login-page .card-body > .row > .respText { order: -1; }
.login-page .card-body > .row > .respText:empty { display: none; }
.login-page .card-body > .row > .respText:not(:empty) {
    margin: 0 0 12px;
    padding: 8px 12px !important;
    font-size: 12.5px;
    line-height: 1.45;
    border-radius: var(--radius);
    color: #8F1C14 !important;
    background: #FDECEA;
    border: 1px solid #F5C2BD;
}
.login-page .card-body > .row > .respText.text-success:not(:empty) {
    color: #1E7B4F !important;
    background: #E8F5EE;
    border-color: #B9DFC9;
}
.login-page .btn-login { width: 100%; }

/* Şifre göster/gizle düğmesi */
.login-page .pw-toggle { cursor: pointer; }
.login-page .pw-toggle:hover { color: var(--c-text); background: #EEF1F5 !important; }
.login-page .pw-toggle:focus-visible { outline: 2px solid var(--c-primary); outline-offset: -2px; }

/* Caps Lock uyarısı */
.login-page .caps-hint { margin: -6px 0 10px; font-size: 12px; color: #A15C00; }

.auth-footer { margin-top: 16px; text-align: center; font-size: 12px; color: #9FB0C2; }
