:root { color-scheme: light; }
* { box-sizing: border-box; }
body.gallery-login { margin: 0; min-height: 100vh; background: #f8fafb; color: #252d35; font: 15px/1.55 system-ui, -apple-system, "Segoe UI", sans-serif; }
.login-page { width: min(100% - 2rem, 390px); margin: 0 auto; min-height: 100vh; display: flex; flex-direction: column; justify-content: center; gap: 2rem; padding: 3rem 0; }
.login-brand { text-align: center; }
.login-brand a { color: #202b34; text-decoration: none; font-weight: 650; font-size: 1.5rem; letter-spacing: -.035em; }
.login-brand p { margin: .25rem 0 0; color: #75818b; font-size: .88rem; }
.login-card { padding: 2rem; background: white; border: 1px solid #e5e9ed; border-radius: .7rem; }
.login-card h1 { font-size: 1.45rem; font-weight: 650; letter-spacing: -.03em; margin-bottom: .25rem; }
.login-subtitle { color: #6b7681; font-size: .9rem; margin-bottom: 1.6rem; }
.login-card .form-label { font-size: .9rem; font-weight: 500; }
.login-card .form-control { border-color: #d9e0e6; min-height: 42px; }
.login-card .form-control:focus { border-color: #566b7c; box-shadow: 0 0 0 .2rem rgb(65 89 110 / 12%); }
.login-card .btn-primary { background: #344b60; border-color: #344b60; padding: .65rem; }
.login-card .btn-primary:hover { background: #263c50; border-color: #263c50; }
@media (max-width: 430px) { .login-card { padding: 1.5rem; } }
