/* Ledger login page – sits inside the site's own theme. */
.cbl-login { max-width: 420px; margin: 32px auto; padding: 28px 28px 20px; border: 1px solid #e2e4e7; border-radius: 10px; background: #fff; box-shadow: 0 6px 24px rgba(0, 0, 0, .06); box-sizing: border-box; }
.cbl-login h2 { margin: 0 0 14px; font-size: 1.4em; line-height: 1.25; }
.cbl-login form p { margin: 0 0 14px; }
.cbl-login label { display: block; font-weight: 600; margin-bottom: 6px; }
.cbl-login input[type=text], .cbl-login input[type=password] { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid #c3c4c7; border-radius: 6px; font-size: 16px; }
.cbl-login input[type=text]:focus, .cbl-login input[type=password]:focus { outline: 2px solid #fe0000; outline-offset: 1px; border-color: #fe0000; }
.cbl-login .login-remember label { display: flex; align-items: center; gap: 8px; font-weight: 400; }
.cbl-login input[type=submit], .cbl-login-btn { display: inline-block; width: 100%; box-sizing: border-box; padding: 12px 16px; border: 0; border-radius: 6px; background: #fe0000; color: #fff !important; font-weight: 600; font-size: 16px; text-align: center; text-decoration: none; cursor: pointer; }
.cbl-login input[type=submit]:hover, .cbl-login-btn:hover { background: #d00000; }
.cbl-login-small { font-size: .9em; text-align: center; margin: 10px 0 0; }
.cbl-login-err { background: #fcf0f1; border-left: 4px solid #d63638; padding: 10px 12px; margin: 0 0 14px; }
@media (max-width: 480px) { .cbl-login { margin: 16px 0; padding: 20px 16px 14px; border-radius: 8px; } }
