* { box-sizing: border-box; }
body { margin: 0; background: #fff; color: #111827; font: 13px/1.6 Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing: .3px; }
.language { position: absolute; top: 20px; right: 25px; z-index: 1; }
.language summary { padding: 4px 8px; background: #f8f9fa; border: 1px solid #f8f9fa; border-radius: 4px; cursor: pointer; }
.language-menu { position: absolute; right: 0; min-width: 140px; padding: 6px 0; background: white; border: 1px solid #e5e7eb; border-radius: 6px; box-shadow: 0 4px 16px #00000010; }
.language a { display: block; padding: 6px 16px; color: #111827; text-decoration: none; }
.language a:hover { background: #f3f4f6; }
.auth-layout { display: flex; align-items: center; justify-content: center; min-height: 100vh; min-height: 100svh; padding: 80px 15px 40px; }
.auth-content { width: 660px; max-width: 100%; }
.auth-logo { text-align: center; margin-bottom: 24px; }
.auth-logo img { width: 100px; height: auto; }
.login-column { width: 50%; padding: 0 12px; margin: auto; }
.welcome { padding: 16px; margin-bottom: 16px; text-align: center; color: #6f5619; background: #fff0cc; border: 1px solid #ffe9b3; border-radius: 6px; }
.card { background: #fff; border-radius: 10px; box-shadow: 0 4px 20px 1px #0000000f, 0 1px 4px #00000014; overflow: hidden; }
.card-header { padding: 8px 16px; text-align: center; background: #0f172a08; border-bottom: 1px solid #00000008; }
h1 { margin: 0 0 8px; font-size: 23px; font-weight: 500; line-height: 1.2; }
.card-body { padding: 16px; }
.form-group { margin-bottom: 10px; }
label { display: inline-block; margin-bottom: 8px; }
input { width: 100%; padding: 6px 12px; font: inherit; line-height: 1.5; color: #111827; background: #f3f4f6; border: 1px solid #9ca3af; border-radius: 6px; }
input:focus-visible, summary:focus-visible, a:focus-visible, button:focus-visible { outline: 3px solid #ffb40080; outline-offset: 2px; }
.submit { width: 100%; margin-top: 10px; padding: 6px 12px; font: inherit; color: #0f172a; background: #ffb400; border: 1px solid #ffb400; border-radius: 6px; cursor: pointer; }
.submit:hover { background: #ffbf26; border-color: #ffbc1a; }
.error { padding: 10px; margin-top: 0; color: #842029; background: #f8d7da; border-radius: 6px; overflow-wrap: anywhere; }
.privacy { margin: 16px 0 0; color: #6b7280; text-align: center; font-size: 12px; }
.connection-body { text-align: center; }
.account-details { display: grid; gap: 4px; padding: 12px; background: #f3f4f6; border-radius: 6px; overflow-wrap: anywhere; }
.account-details span { color: #6b7280; }
@media (max-width: 767px) { .auth-content { max-width: 420px; } .login-column { width: 100%; } }
