/* Parking - branded login page */
body.pk-bare { min-height: 100vh; background: linear-gradient(160deg, #0f766e 0%, #10202b 70%); }
.pk-login { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 24px 16px; }
.pk-login-card { width: 100%; max-width: 400px; background: #fff; border-radius: 16px; padding: 28px 24px; box-shadow: 0 20px 50px rgba(0, 0, 0, .25); }
.pk-login-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; }
.pk-login-brand img { width: 52px; height: 52px; object-fit: contain; border-radius: 10px; }
.pk-login-brand .pk-logo { width: 52px; height: 52px; font-size: 24px; border-radius: 12px; }
.pk-login-brand h1 { font-size: 20px; font-weight: 700; }
.pk-login-brand p { margin: 2px 0 0; color: var(--pk-muted); font-size: 13px; }
#pk-login-form { display: flex; flex-direction: column; gap: 14px; }
#pk-login-form input { height: 44px; font-size: 16px; }
.pk-login-pass { position: relative; display: block; }
.pk-login-pass input { padding-right: 60px; }
.pk-login-eye { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); border: 0; background: none; color: var(--pk-primary); font: inherit; font-weight: 600; cursor: pointer; padding: 6px 8px; }
.pk-login-captcha-row { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.pk-login-captcha-row img { border: 1px solid var(--pk-border); border-radius: 6px; background: #fff; }
.pk-login-backup summary { cursor: pointer; color: var(--pk-primary); font-weight: 550; margin-bottom: 8px; }
.pk-login-alert { margin: 0; }
.pk-login-links { margin-top: 16px; text-align: center; }
.pk-login-foot { margin-top: 18px; max-width: 400px; text-align: center; color: rgba(255, 255, 255, .8); font-size: 13px; }
@media (max-width: 420px) { .pk-login-card { padding: 22px 18px; } }
