/* DBIM login look shared by the BRO admin login and the BRO employee login (same design as the BPR&D admin login) */
.dbimAuth, .dbimAuth * { box-sizing: border-box; }
.dbimAuth {
    --dbim-blue: #162f6a; --dbim-blue-2: #1d3d86; --dbim-lblue: #e8eefb;
    --dbim-border: #d6dce8; --dbim-muted: #5c667a; --dbim-text: #150202; --dbim-white: #fff;
    display: grid; grid-template-columns: minmax(320px, 42%) 1fr; min-height: 100vh;
    font-family: "Noto Sans", "Noto Sans Devanagari", sans-serif; color: var(--dbim-text); background: #f4f6fa;
}
.dbimAuth.dbimAuthInline { min-height: 640px; }
.dbimAuthBrand {
    display: flex; flex-direction: column; justify-content: center;
    padding: 48px 56px;
    background: linear-gradient(160deg, #162f6a 0%, #1d3d86 60%, #224aaa 100%);
    color: var(--dbim-white);
}
.dbimAuth .dbimAuthEmblem { width: 72px !important; height: 120px !important; margin-bottom: 24px; filter: brightness(0) invert(1); }
.dbimAuth .dbimAuthLogo { height: 72px !important; width: auto !important; max-width: 100%; }
.dbimAuth .dbimCaptcha img { height: auto !important; width: auto !important; max-height: 60px; }
.dbimAuthGov { margin: 0; font-size: 18px; opacity: .9; }
.dbimAuthOrg { margin: 4px 0; font-size: 28px; font-weight: 700; line-height: 1.25; }
.dbimAuthMin { margin: 0 0 28px; font-size: 16px; opacity: .9; }
.dbimAuthTag { display: inline-block; align-self: flex-start; margin: 0; padding: 6px 14px; border: 1px solid rgba(255, 255, 255, .5); border-radius: 30px; font-size: 14px; letter-spacing: .02em; }
.dbimAuthPanel { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 40px 24px; }
.dbimAuthCard { width: 100%; max-width: 420px; padding: 34px 32px; background: var(--dbim-white); border: 1px solid var(--dbim-border); border-radius: 12px; box-shadow: 0 10px 30px rgba(22, 47, 106, .10); }
.dbimAuthLogo { display: block; height: 72px; width: auto; max-width: 100%; margin: 0 auto 18px; object-fit: contain; }
.dbimAuthTitle { margin: 0 0 4px; color: var(--dbim-blue); font-size: 24px; font-weight: 700; text-align: center; }
.dbimAuthHint { margin: 0 0 22px; color: var(--dbim-muted); font-size: 14px; text-align: center; }
.dbimAuth .form-label { display: block; margin-bottom: 6px; font-weight: 600; font-size: 14px; color: var(--dbim-text); }
.dbimAuth .mb-3 { margin-bottom: 1rem; }
.dbimField { position: relative; display: flex; align-items: center; }
.dbimField > i { position: absolute; left: 13px; z-index: 3; color: var(--dbim-muted); pointer-events: none; }
.dbimAuth .dbimField .form-control { width: 100%; height: 44px; padding-left: 40px; padding-right: 44px; border: 1px solid var(--dbim-border); border-radius: 8px; font-size: 15px; }
.dbimAuth .dbimField .form-control:focus { border-color: var(--dbim-blue-2); box-shadow: 0 0 0 3px rgba(29, 61, 134, .18); outline: 0; }
.dbimAuth .form-control.is-invalid { border-color: #dc3545; background-image: none; }
.dbimField .dbimFieldBtn { position: absolute; right: 4px; z-index: 3; }
.dbimFieldBtn { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: var(--dbim-blue); cursor: pointer; }
.dbimFieldBtn:hover, .dbimFieldBtn:focus { background: var(--dbim-lblue); }
.dbimCaptcha { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 8px; border: 1px dashed #c9d1de; border-radius: 8px; background: #fafbfd; }
.dbimCaptcha img { display: block; max-width: 100%; height: auto; border-radius: 4px; cursor: pointer; }
.dbimAuthErr { display: block; margin-top: 4px; color: #b02a37; font-size: 13px; }
.dbimAuthHelp { display: block; margin-top: 6px; color: var(--dbim-muted); font-size: 13px; }
.dbimAuthSubmit { width: 100%; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-size: 16px; font-weight: 600; color: #fff; background: var(--dbim-blue); border: 1px solid var(--dbim-blue); border-radius: 8px; cursor: pointer; }
.dbimAuthSubmit:hover, .dbimAuthSubmit:focus { background: var(--dbim-blue-2); border-color: var(--dbim-blue-2); color: #fff; }
.dbimAuthLinks { display: flex; justify-content: space-between; gap: 12px; margin-top: 16px; font-size: 14px; }
.dbimAuthLinks a { color: var(--dbim-blue-2); }
.dbimAuthLinks a.danger { color: #b02a37; }
.dbimAuthAlert { width: 100%; max-width: 420px; margin: 0 0 14px; padding: 10px 14px; border-radius: 8px; font-size: 14px; border: 1px solid transparent; }
.dbimAuthAlert.ok { background: #e7f6ec; border-color: #b7e1c4; color: #14532d; }
.dbimAuthAlert.warn { background: #fff7e0; border-color: #f1d98a; color: #5c4400; }
.dbimAuthAlert.bad { background: #fdecee; border-color: #f2b8bf; color: #7a1620; }
.dbimAuthFooter { margin-top: 18px; color: var(--dbim-muted); font-size: 13px; text-align: center; }
@media (max-width: 860px) {
    .dbimAuth { grid-template-columns: 1fr; min-height: 0; }
    .dbimAuthBrand { padding: 28px 24px; text-align: center; align-items: center; }
    .dbimAuth .dbimAuthEmblem { width: 48px !important; height: 80px !important; margin-bottom: 12px; }
    .dbimAuthOrg { font-size: 22px; }
    .dbimAuthTag { align-self: center; }
}

/* Inside the public site layout the theme styles p, h1, label and buttons: keep the login look */
.dbimAuth p, .dbimAuth h1, .dbimAuth h2, .dbimAuth label, .dbimAuth small, .dbimAuth button, .dbimAuth input { font-family: "Noto Sans", "Noto Sans Devanagari", sans-serif; letter-spacing: normal; text-transform: none; }
.dbimAuth .dbimAuthBrand p { color: #fff !important; text-align: inherit; }
.dbimAuth .dbimAuthGov { font-size: 18px !important; font-weight: 400 !important; margin: 0 !important; }
.dbimAuth .dbimAuthOrg { font-size: 28px !important; font-weight: 700 !important; line-height: 1.25 !important; margin: 4px 0 !important; }
.dbimAuth .dbimAuthMin { font-size: 16px !important; font-weight: 400 !important; margin: 0 0 28px !important; }
.dbimAuth .dbimAuthTag { font-size: 14px !important; font-weight: 400 !important; padding: 6px 14px !important; margin: 0 !important; }
.dbimAuth .dbimAuthTitle { color: #162f6a !important; font-size: 24px !important; font-weight: 700 !important; text-align: center !important; margin: 0 0 4px !important; line-height: 1.3 !important; }
.dbimAuth .dbimAuthHint { color: #5c667a !important; font-size: 14px !important; text-align: center !important; margin: 0 0 22px !important; }
.dbimAuth .form-label { color: #150202 !important; font-size: 14px !important; font-weight: 600 !important; text-align: left !important; }
.dbimAuth .dbimAuthSubmit { color: #fff !important; background: #162f6a !important; }
.dbimAuth .dbimAuthSubmit:hover, .dbimAuth .dbimAuthSubmit:focus { background: #1d3d86 !important; }
.dbimAuth .dbimFieldBtn { color: #162f6a; }
@media (max-width: 860px) { .dbimAuth .dbimAuthBrand p { text-align: center; } .dbimAuth .dbimAuthOrg { font-size: 22px !important; } }
