/* Scope branding to the standard login's ECC wrapper; authentication stays in Frappe. */
body:has(.ecc-auth) { background: #f3f6fa; }
body:has(.ecc-auth) .web-footer, body:has(.ecc-auth) .navbar { display: none; }
body:has(.ecc-auth) .page-content-wrapper { padding: 24px 16px; }
.ecc-auth { display: grid; grid-template-columns: minmax(250px,.9fr) minmax(0,1.1fr); width: min(960px,100%); margin: 28px auto; min-height: 530px; border: 1px solid #dce4ee; border-radius: 16px; overflow: hidden; background: #fff; color: #213047; font-family: "Inter var","Segoe UI",sans-serif; box-shadow: 0 14px 44px rgba(21,34,56,.09); }
.ecc-auth-brand { background: #152238; padding: 44px 36px; display: flex; flex-direction: column; align-items: flex-start; border-block-start: 4px solid #2bb7c8; }
.ecc-auth-brand img { width: 230px; max-width: 100%; height: auto; margin-block-end: 46px; }
.ecc-auth-brand h1 { color: #fff; font-size: 28px; font-weight: 700; margin: 0 0 16px; line-height: 1.4; }
.ecc-auth-brand p { color: #c1cede; font-size: 16px; line-height: 1.7; max-width: 30ch; }
.ecc-auth-brand > span { margin-block-start: auto; padding-block-start: 28px; color: #9babc2; font-size: 13px; }
.ecc-auth-content { padding: 24px 36px 32px; min-width: 0; }
.ecc-auth-language { display: flex; justify-content: flex-end; gap: 8px; margin-block-end: 20px; }
.ecc-auth-language a { color: #52627b; padding: 6px 10px; border-radius: 6px; font-size: 13px; }
.ecc-auth-language a[aria-current] { color: #244bc4; background: #eef2ff; font-weight: 600; }
.ecc-auth .page-card-head { margin: 12px 0 24px; text-align: start; }
.ecc-auth .page-card-head .app-logo { display: none; }
.ecc-auth .page-card-head h4 { color: #152238; font-size: 23px; line-height: 1.5; margin: 0; }
.ecc-auth .for-login, .ecc-auth .for-forgot, .ecc-auth .for-signup, .ecc-auth .for-login-with-email-link { margin: 0; padding: 0; }
.ecc-auth .page-card { padding: 0; border: 0; box-shadow: none; max-width: none; background: transparent; }
.ecc-auth .page-card-body, .ecc-auth .page-card-actions { padding: 0; }
.ecc-auth .form-group { margin-block-end: 18px; }
.ecc-auth .form-label.sr-only { position: static; width: auto; height: auto; clip: auto; overflow: visible; display: block; margin: 0 0 7px; font-size: 13px; color: #213047; }
.ecc-auth .form-control { min-height: 44px; background: #fafbfe; border: 1px solid #dce4ee; border-radius: 8px; }
.ecc-auth .form-control:focus { border-color: #3867f4; box-shadow: 0 0 0 3px rgba(56,103,244,.12); }
.ecc-auth input[type=email], .ecc-auth #login_email { direction: ltr; text-align: start; }
.ecc-auth .btn-primary { background: #3867f4; border-color: #3867f4; min-height: 44px; border-radius: 8px; font-weight: 600; }
.ecc-auth .btn-primary:hover { background: #244bc4; border-color: #244bc4; }
.ecc-auth .forgot-password-message { margin-block: 0 20px; text-align: end; }
.ecc-auth .sign-up-message { margin-block: 18px 0; }
.ecc-auth[dir=rtl] { text-align: right; }
@media(max-width:700px) { .ecc-auth { grid-template-columns: minmax(0,1fr); margin: 8px auto; min-height: 0; } .ecc-auth-brand { padding: 22px; } .ecc-auth-brand img { width: 150px; margin-block-end: 12px; } .ecc-auth-brand h1 { font-size: 22px; margin: 0; } .ecc-auth-brand p,.ecc-auth-brand > span { display: none; } .ecc-auth-content { padding: 18px 22px 26px; } .ecc-auth-language { margin-block-end: 12px; } }
