/* Scope the layout overrides to login popups, including the legacy table wrapper. */
#HolderLoginFA,#HolderLoginEN,#HolderLoginAR{position:fixed!important;top:clamp(16px,8vh,80px)!important;left:50%!important;width:440px!important;max-width:calc(100vw - 32px)!important;height:auto!important;margin:0!important;transform:translateX(-50%)}
#LoginFA,#LoginEN,#LoginAR{height:auto!important;max-height:calc(100vh - 32px);overflow:auto;border-radius:20px;box-shadow:0 20px 70px #172c4333}
#LoginFA div,#LoginEN div,#LoginAR div{float:none!important}
#LoginFATable>table,#LoginENTable>table,#LoginARTable>table{width:100%;border-collapse:collapse}
#LoginFATable>table>tbody>tr>td,#LoginENTable>table>tbody>tr>td,#LoginARTable>table>tbody>tr>td{padding:0!important;border:0!important;height:auto}
.portal-login,.portal-login *{box-sizing:border-box}
.portal-login{margin:0;padding:32px;background:linear-gradient(160deg,#edf7f6 0,#f5f7fa 42%,#fff 100%);color:#243449;font:14px/1.8 wyekan,Tahoma,sans-serif;text-align:start;border:1px solid #e0e6ed;border-radius:20px}
.portal-login .login-header{text-align:center;margin-bottom:26px}
.portal-login .login-mark{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:#e0f0ee;border:1px solid #cce4e1;border-radius:17px;color:#146b70;margin-bottom:12px}
.portal-login .login-eyebrow{font-size:12px;color:#477d83;margin:0 0 3px}
.portal-login h2{font:700 25px/1.6 wyekan,Tahoma,sans-serif;color:#172c43;margin:0 0 6px}
.portal-login .login-description{font-size:12px;color:#6a788a;margin:0}
.portal-login label{display:block;color:#40556c;font-weight:normal;margin:0 0 7px}
.portal-login input{display:block;width:100%!important;height:48px!important;border:1px solid #ccd7e1!important;border-radius:10px;background:#fff!important;padding:0 14px!important;margin:0 0 18px;color:#193149;font:16px wyekan,Tahoma,sans-serif!important;direction:ltr;text-align:left;box-shadow:0 2px 3px #172c4303}
.portal-login input:focus{border-color:#146b70!important}
.portal-login .login-recovery{display:inline-block;font-size:12px;color:#146b70;margin-top:-3px;text-decoration:none}
.portal-login .login-recovery:hover{text-decoration:underline}
.portal-login .login-warning{margin-top:12px;padding:8px 12px;border:1px solid #f1ddba;border-radius:9px;color:#805122;background:#fff8ec;font-size:12px}
.portal-login .login-actions{display:flex;gap:10px;margin-top:26px}
.portal-login button{cursor:pointer;font:14px/1.8 wyekan,Tahoma,sans-serif!important;min-height:46px;border-radius:10px;padding:9px 20px;transition:background .15s}
.portal-login .login-primary{flex:1;border:1px solid #146b70;background:#146b70;color:#fff}
.portal-login .login-primary:hover{background:#10585c}
.portal-login .login-secondary{border:1px solid #d7e0e8;background:#fff;color:#40556c}
.portal-login .login-secondary:hover{background:#edf3f8}
.portal-login input:focus-visible,.portal-login button:focus-visible,.portal-login a:focus-visible{outline:3px solid #7ac8cc;outline-offset:3px}
@media(max-width:480px){.portal-login{padding:24px}.portal-login h2{font-size:22px}}

/* Login is a standalone split screen, never a slide-out form. */
#HolderLoginFA,#HolderLoginEN,#HolderLoginAR{inset:0!important;left:0!important;top:0!important;width:100%!important;max-width:none!important;height:100dvh!important;transform:none!important;margin:0!important;background:#fff;overflow:auto}
#LoginFA,#LoginEN,#LoginAR{width:100%!important;height:auto!important;max-height:none!important;overflow:visible;border-radius:0;box-shadow:none}
#LoginFATable,#LoginENTable,#LoginARTable{width:100%!important}
#LoginFATable>table,#LoginENTable>table,#LoginARTable>table{height:auto!important;border:0!important;background:#fff!important}
#LoginFATable>table>tbody>tr>td:empty,#LoginENTable>table>tbody>tr>td:empty,#LoginARTable>table>tbody>tr>td:empty{display:none}
.login-screen{display:grid;grid-template-columns:1fr 1fr;direction:ltr;min-height:100vh;min-height:100dvh;background:#fff}
.login-visual{position:relative;overflow:hidden;background:#073f43;min-width:0}
.login-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.login-brand{position:absolute;z-index:1;top:42px;left:42px;width:150px;height:auto}
.login-form-panel{display:flex;align-items:center;justify-content:center;padding:40px;min-width:0}
.login-form-panel .portal-login{width:100%;max-width:420px;padding:0;border:0;border-radius:0;background:#fff}
.login-form-panel .login-header{margin-bottom:32px}
.login-form-panel .login-actions{flex-direction:column}
.login-form-panel .login-primary{width:100%}
.login-form-panel .login-secondary{border:0;background:transparent;min-height:32px;padding:4px}
@media(max-width:700px){.login-screen{grid-template-columns:1fr;grid-template-rows:200px auto}.login-visual{min-height:200px}.login-art{object-position:center 55%}.login-brand{top:20px;left:24px;width:110px}.login-form-panel{padding:28px 24px}.login-form-panel .login-header{margin-bottom:20px}}
#LoginFATable,#LoginENTable,#LoginARTable{border-collapse:collapse;border-radius:0!important}
#LoginFATable>tbody>tr>td,#LoginENTable>tbody>tr>td,#LoginARTable>tbody>tr>td{padding:0!important;border:0!important;height:auto!important}
#LoginFATable>tbody>tr>td:empty,#LoginENTable>tbody>tr>td:empty,#LoginARTable>tbody>tr>td:empty{display:none}
body:has(.login-screen){overflow:hidden}

/* Use the same tenant logo as the portal header without stretching it. */
.portal-login .login-customer-logo{display:block;width:auto;height:auto;max-width:min(220px,100%);max-height:80px;object-fit:contain;margin:0 auto 20px}
/* The standalone login owns the screen; the authenticated shell stays hidden. */
body:has(.login-screen) .Whole{display:none!important}

/* Keep the standalone form reachable on narrow screens and with the keyboard open. */
@media (max-width:700px) {
  .login-screen { min-height:100dvh; grid-template-rows:128px auto; align-content:start; }
  .login-visual { min-height:0; height:128px; }
  .login-art { object-position:center 60%; }
  .login-brand { top:18px; left:20px; width:104px; }
  .login-form-panel { padding:24px 20px max(20px,env(safe-area-inset-bottom)); align-items:flex-start; }
  .login-form-panel .login-header { margin-bottom:22px; }
  .portal-login .login-customer-logo { max-width:180px; max-height:60px; margin-bottom:12px; }
  .portal-login h2 { font-size:22px; }
  .portal-login .login-description { line-height:1.8; }
  .portal-login input { font-size:16px!important; margin-bottom:16px; }
  .login-form-panel .login-actions { margin-top:20px; gap:8px; }
  .portal-login .login-recovery { padding:8px 0; }
}
@media (max-width:700px) and (max-height:600px) {
  .login-screen { grid-template-rows:72px auto; }
  .login-visual { height:72px; }
  .login-form-panel { padding-top:16px; }
}

.portal-login .login-powered { margin-top:20px; padding-top:14px; border-top:1px solid #edf1f4; text-align:center; color:#68798a; font:12px/1.8 Tahoma,sans-serif; }
.portal-login .login-powered a { color:#146b70; font-weight:bold; text-decoration:none; padding:8px 3px; display:inline-block; }
.portal-login .login-powered a:hover { text-decoration:underline; }

.portal-login .login-error { margin-top:16px; padding:12px 14px; border:1px solid #efc2c2; border-radius:10px; background:#fff3f3; color:#a12727; font-size:13px; line-height:1.8; scroll-margin:20px; }
.portal-login input[aria-invalid="true"] { border-color:#c95353!important; }
