:root {
    --login-ivory: #f9f9f7;
    --login-paper: #f2f2ef;
    --login-ink: #17181c;
    --login-ink-2: #2b2d33;
    --login-muted: #575b62;
    --login-soft: #64676e;
    --login-line: rgba(23,24,28,.12);
    --login-amber: #ffae42;
    --login-amber-2: #b9520a;
    --login-amber-ink: #9a4508;
    --login-amber-soft: #fff1de;
    --login-mint: #0d7a4f;
}
* { font-family: 'Inter', sans-serif; }
body {
    background: var(--login-ivory);
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
    color: var(--login-ink);
}
::selection { background: var(--login-amber-soft); color: var(--login-ink); }
.login-card {
    background: #fff;
    border: 1px solid var(--login-line);
    border-radius: 22px;
    box-shadow: 0 30px 60px -36px rgba(60,40,10,.32), 0 12px 28px -20px rgba(23,24,28,.16);
    width: 100%;
    max-width: 440px;
    padding: 44px 40px;
}
.login-logo { text-align: center; margin-bottom: 28px; }
.login-logo .logo-icon { display: block; width: auto; height: 64px; margin: 0 auto 12px; object-fit: contain; }
.login-logo h1 { font-family: 'Bricolage Grotesque', 'Inter', sans-serif; font-size: 24px; font-weight: 500; letter-spacing: -.03em; color: var(--login-ink); margin: 0; }
.login-logo h1 b { font-family: inherit; font-weight: 800; }
.login-logo p { font-size: 14px; color: var(--login-muted); margin: 4px 0 0; }
.back-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--login-muted);
    font-size: 14px;
    text-decoration: none;
    margin-bottom: 20px;
    transition: color .2s;
}
.back-link:hover { color: var(--login-amber-ink); }
.form-floating label { color: var(--login-muted); }
.form-control { border-color: var(--login-line); background: #fff; color: var(--login-ink); border-radius: 12px; }
.form-control:focus { border-color: var(--login-amber-2); box-shadow: 0 0 0 .2rem rgba(185,82,10,.14); background: #fff; }
.form-check-input:checked { background-color: var(--login-amber-2); border-color: var(--login-amber-2); }
.form-check-input:focus { border-color: var(--login-amber-2); box-shadow: 0 0 0 .2rem rgba(185,82,10,.14); }
.btn-login {
    background: var(--login-amber-2);
    border: none;
    border-radius: 99px;
    padding: 13px;
    font-size: 15px;
    font-weight: 700;
    transition: background .2s, transform .2s;
}
.btn-login:hover, .btn-login:focus-visible { background: var(--login-amber-ink); transform: translateY(-1px); }
.btn-login:focus-visible { outline: 3px solid var(--login-amber-soft); outline-offset: 2px; }
.firma-kodu-hint {
    font-size: 13px;
    color: var(--login-muted);
    margin-top: 4px;
}
.kayit-link-box {
    text-align: center;
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid var(--login-line);
    font-size: 14px;
    color: var(--login-muted);
}
.kayit-link-box a { color: var(--login-amber-ink); font-weight: 700; text-decoration: none; }
.kayit-link-box a:hover { text-decoration: underline; text-underline-offset: 3px; }
.forgot-link {
    color: var(--login-amber-ink);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}
.forgot-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.beni-hatirla-label {
    font-size: 14px;
    color: var(--login-muted);
    cursor: pointer;
    user-select: none;
}
@media (max-width: 480px) {
    .login-card { padding: 32px 22px; }
}
