/* ECO CELL R15.4.32 - welcome layout fills the viewport. */
body.auth-locked { zoom:1; }
#loginScreen {
  --welcome-gutter:clamp(24px,3.5vw,92px);
  --welcome-header-height:clamp(76px,10vh,108px);
  display:block;
  overflow-x:hidden;
  overflow-y:auto;
  padding:0;
  color:#173e35;
  background:radial-gradient(ellipse at 85% 28%,#e2f3ec 0,transparent 45%),linear-gradient(125deg,#f4faf7,#fff 58%,#edf7f2);
}
body:not(.auth-locked) #loginScreen { display:none; }
#loginScreen .welcome-header {
  width:100%;height:var(--welcome-header-height);margin:0;
  padding:0 var(--welcome-gutter);display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.welcome-brand { display:flex;align-items:center;gap:12px;color:#123e39;font-size:clamp(21px,1.45vw,29px);letter-spacing:.09em; }
.welcome-brand img { width:48px;height:48px;object-fit:contain; }
.welcome-login-button { border:0;border-radius:12px;background:#087c68;color:#fff;padding:14px 25px;font-size:clamp(16px,1vw,20px);font-weight:700;box-shadow:0 10px 25px #087c6826;white-space:nowrap; }
.welcome-login-button:hover { background:#056956; }
.welcome-login-button span { margin-left:12px; }
#loginScreen :is(button,input):focus-visible { outline:3px solid #2b997e;outline-offset:3px; }
#loginScreen .login-shell {
  display:block;width:100%;max-width:none;min-height:calc(100vh - var(--welcome-header-height));min-height:calc(100dvh - var(--welcome-header-height));
  margin:0;padding:0 var(--welcome-gutter) clamp(24px,3vh,40px);overflow:visible;
  border:0!important;border-radius:0;background:transparent!important;box-shadow:none;backdrop-filter:none;
}
#loginScreen .login-brand-panel {
  display:grid!important;grid-template-rows:minmax(0,1fr) auto;gap:clamp(24px,3.4vh,52px);
  min-height:calc(100vh - var(--welcome-header-height) - clamp(24px,3vh,40px));
  min-height:calc(100dvh - var(--welcome-header-height) - clamp(24px,3vh,40px));
  padding:0;border:0!important;background:transparent!important;color:#173e35!important;
}
.welcome-hero { display:grid;grid-template-columns:minmax(0,1.65fr) minmax(220px,1fr);align-items:center;gap:clamp(24px,4vw,100px);padding:24px 0; }
.welcome-intro { min-width:0; }
.welcome-eyebrow { font-size:clamp(12px,.95vw,19px);font-weight:800;letter-spacing:.17em;color:#087c68; }
#loginScreen .welcome-intro h1 { max-width:none;margin:22px 0;font-size:clamp(44px,4.35vw,108px);line-height:1.15;letter-spacing:-.04em;color:#153c32!important; }
.welcome-intro h1 em { font-style:normal;color:#0b9376; }
#loginScreen .welcome-intro p { max-width:920px;margin:0;font-size:clamp(18px,1.35vw,28px);line-height:1.65;color:#526c61!important; }
.welcome-logo { display:grid;place-items:center;min-width:0; }
#loginScreen .login-brand-image { width:100%!important;max-width:520px;max-height:none;height:auto;margin:0!important;filter:none;object-fit:contain;mix-blend-mode:multiply; }
.welcome-features { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,1.6vw,32px);margin:0; }
.welcome-features article { padding:clamp(22px,2vw,42px);min-width:0;min-height:clamp(224px,26vh,320px);border:1px solid #cfe4d9;border-radius:22px;background:#fffffff2;box-shadow:0 14px 34px #124e3f0a; }
.welcome-features article>span { display:inline-grid;place-items:center;width:clamp(42px,3vw,58px);height:clamp(42px,3vw,58px);border-radius:14px;background:#e6f5ec;color:#087c68;font-weight:800;font-size:clamp(16px,1.15vw,22px); }
.welcome-features h2 { font-size:clamp(20px,1.5vw,30px);line-height:1.3;letter-spacing:-.02em;margin:22px 0 12px;color:#173f38; }
.welcome-features p { font-size:clamp(16px,1.12vw,23px);line-height:1.65;margin:0;color:#5b7166; }
.welcome-login-backdrop { display:none;position:fixed;inset:0;z-index:1001;background:#0a2722a8; }
#loginScreen.login-panel-open { overflow:hidden; }
#loginScreen.login-panel-open .welcome-login-backdrop { display:block; }
#loginScreen .login-card {
  display:none;position:fixed;z-index:1002;top:50%;left:50%;transform:translate(-50%,-50%);
  width:min(480px,calc(100vw - 32px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;
  margin:0;padding:42px 34px 34px;border:1px solid #d8e9e4;border-radius:22px;background:#fff;color:#193c32;box-shadow:0 30px 90px #00231d4d;
}
#loginScreen.login-panel-open .login-card { display:block; }
#loginScreen .login-card h2 { font-size:27px;line-height:1.3;margin:8px 28px 12px 0; }
#loginScreen .login-card p { font-size:16px;line-height:1.5;color:#5b7166;margin:0 0 24px; }
#loginScreen .login-card label>span { font-size:16px; }
#loginScreen .login-card input { font-size:18px;height:48px;color:#193c32;background:#f7faf8;border-color:#ccdcd2; }
#loginScreen .login-error { font-size:14px;line-height:1.5;color:#c63546; }
#loginScreen .login-submit { font-size:18px;background:#087c68; }
#loginForm .login-language-toggle-v10377 { display:inline-block;margin:-14px 0 18px 0;font-size:14px;color:#193c32;background:#f4f8f6;border-color:#cbded2; }
.welcome-close { position:absolute;right:14px;top:10px;width:36px;height:36px;padding:0;border:0;background:transparent;color:#536762;font-size:30px;line-height:1; }
@media(min-width:1001px) and (max-height:780px) {
  .welcome-hero { padding:12px 0; }
  #loginScreen .welcome-intro h1 { margin:16px 0;font-size:clamp(44px,4.2vw,74px); }
  .welcome-features article { min-height:220px;padding:22px; }
  .welcome-features h2 { margin-top:16px; }
}
@media(max-width:1000px) {
  .welcome-hero { grid-template-columns:minmax(0,1fr) 240px;gap:24px; }
  #loginScreen .welcome-intro h1 { font-size:clamp(37px,4.7vw,54px); }
  .welcome-features { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .welcome-features article { min-height:190px; }
}
@media(max-width:680px) {
  #loginScreen { --welcome-gutter:20px;--welcome-header-height:76px; }
  .welcome-brand { font-size:18px;gap:8px;letter-spacing:.06em; }
  .welcome-brand img { width:36px;height:36px; }
  .welcome-login-button { padding:12px 14px;font-size:15px; }
  .welcome-login-button span { margin-left:6px; }
  .welcome-hero { grid-template-columns:1fr;gap:22px;padding:20px 0 0; }
  .welcome-logo { display:none; }
  .welcome-eyebrow { font-size:11px;letter-spacing:.1em; }
  #loginScreen .welcome-intro h1 { font-size:clamp(32px,7.8vw,48px);margin:20px 0; }
  #loginScreen .welcome-intro p { font-size:18px;line-height:1.6; }
  .welcome-features { grid-template-columns:1fr;gap:14px; }
  .welcome-features article { min-height:0;display:flex;align-items:flex-start;gap:18px;padding:22px; }
  .welcome-features article>span { flex-shrink:0; }
  .welcome-features h2 { margin:0 0 8px;font-size:22px; }
  .welcome-features p { font-size:16px; }
  #loginScreen .login-card { padding:38px 24px 26px; }
}
