/* CRM-i sisselogimisvaade; kliendiportaalide kujundused jäävad eraldi. */
.login-shell, .login-window, .login-window-body { height: 100vh; height: 100dvh; min-height: 0; }
.login-window-body { grid-template-columns: minmax(0, 1.15fr) minmax(380px, 1fr); }
.login-showcase { min-height: 0; padding: 0; background: var(--primary); }
.login-showcase-media {
  min-height: 0;
  display: block;
  border: 0;
  border-radius: 0;
  background: var(--primary);
  isolation: isolate;
}
.login-showcase-image {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.login-showcase-media-overlay {
  display: none;
}
.login-showcase-content {
  min-height: 0;
  position: relative;
  z-index: 2;
  height: 100%;
  padding: 80px clamp(28px, 4vw, 64px);
  justify-content: center;
  align-items: flex-start;
}
.login-showcase-label {
  position: absolute;
  z-index: 3;
  top: 34px;
  left: clamp(28px, 4vw, 64px);
  color: #fff;
  font-size: 20px;
  letter-spacing: -.03em;
  text-transform: none;
  opacity: 1;
}
.login-showcase-title {
  max-width: 15ch;
  font-size: clamp(36px, min(4.1vw, 7vh), 60px);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -.045em;
  margin: 0;
}
.login-brand-logo {
  width: 140px;
  height: 45px;
  overflow: hidden;
}
.login-brand-logo img {
  display: block;
  width: 192px;
  max-width: none;
  height: auto;
  /* Läbipaistvad ääred jäävad logo joondusest välja; originaal säilib. */
  transform: translate(-24.5px, -16.8px);
  filter: brightness(0) invert(1);
}
.login-showcase-text { max-width: min(34ch, 85%); margin-top: 22px; color: #fff; font-size: 17px; line-height: 1.65; }
.login-showcase-footer { display: none; }
.login-form-side { min-height: 0; overflow-y: auto; background: #fff; padding: 28px 48px; }
.login-form-wrap { width: min(380px, 100%); }
.login-mobile-brand,.login-mobile-intro{display:none}
.login-form-wrap h2 { font-size: 48px; font-weight: 600; letter-spacing: -.035em; color: #141722; }
.login-grid { margin-top: 36px; gap: 22px; }
.login-grid .field label { color: #505869; font-size: 14px; }
.login-grid input { min-height: 52px; background: #fff; border: 1px solid #dce0e8; border-radius: 12px; }
.login-grid input:focus { border-color: #5555ff; box-shadow: 0 0 0 3px rgba(80,80,255,.1); }
.login-submit { min-height: 52px; border-radius: 12px; box-shadow: 0 6px 20px rgba(55,55,240,.15); }
@media (max-width: 900px) {
  .login-window-body { grid-template-columns: 1fr; grid-template-rows: minmax(0, 1fr) auto; }
  .login-showcase-content { padding: 54px 24px 20px; }
  .login-showcase-title { font-size: 28px; max-width: none; }
  .login-showcase-text { display: none; }
  .login-showcase-label { top: 16px; left: 24px; font-size: 17px; }
  .login-brand-logo { width: 120px; height: 39px; }
  .login-brand-logo img { width: 165px; transform: translate(-21px, -14.4px); }
  .login-showcase-content { padding-top: 80px; }
  .login-form-side { padding: 24px; max-height: 100dvh; }
  .login-form-wrap h2 { font-size: 32px; }
  .login-grid { margin-top: 20px; gap: 14px; }
  .login-grid input, .login-submit { min-height: 46px; }
}
/* Suurenduse või ekraaniklaviatuuri puhul peab vorm jääma ligipääsetavaks. */
@media (max-height: 500px) {
  .login-showcase-text { display: none; }
  .login-showcase-title { font-size: 30px; }
  .login-form-side { align-items: flex-start; }
}
@media (max-height: 600px) and (max-width: 900px) {
  .login-window-body { grid-template-rows: 0 minmax(0, 1fr); }
  .login-showcase { overflow: hidden; }
}
.login-mobile-session{align-items:flex-start;gap:10px;color:#20243a;cursor:pointer}.login-mobile-session:not([hidden]){display:flex}.login-mobile-session input{width:18px;height:18px;margin:2px 0 0;accent-color:#1000e8}.login-mobile-session span{display:grid;gap:2px;line-height:1.25}.login-mobile-session strong{font-size:14px}.login-mobile-session small{font-size:12px;color:#73798a}

.auth-page .login-grid .login-mobile-session{align-items:center;gap:12px;min-height:44px}
.login-remember-row{display:flex;align-items:center;gap:7px;min-width:0}
.login-remember-help{position:relative;flex:0 0 auto;display:flex;align-items:center}
.auth-page .login-remember-help-button{display:grid;place-items:center;width:24px;height:28px;min-height:0;padding:0;border:0;background:transparent;color:#8a91a2;font:600 12px/1 inherit;cursor:help;border-radius:6px}
.login-remember-help-button::before{content:'';position:absolute;width:15px;height:15px;border:1px solid currentColor;border-radius:50%;pointer-events:none}
.auth-page .login-remember-help-button:hover,.auth-page .login-remember-help-button:focus-visible{color:#1000e8}
.login-remember-help-button:focus-visible{outline:2px solid #1000e830;outline-offset:2px}
.login-remember-tooltip{position:absolute;bottom:calc(100% + 8px);right:0;z-index:20;width:210px;max-width:calc(100vw - 48px);padding:10px 12px;border-radius:9px;background:#20243a;color:#fff;font-size:12px;line-height:1.45;font-weight:400;box-shadow:0 6px 20px #20243a20;visibility:hidden;opacity:0;pointer-events:none}
.login-remember-tooltip::after{content:'';position:absolute;top:100%;right:8px;border:5px solid transparent;border-top-color:#20243a}
.login-remember-help:hover .login-remember-tooltip,.login-remember-help:focus-within .login-remember-tooltip{visibility:visible;opacity:1}
.auth-page .login-grid .login-mobile-session input[type=checkbox]{appearance:none;-webkit-appearance:none;box-sizing:border-box;display:grid;place-content:center;flex:0 0 22px;width:22px;height:22px;min-height:22px;margin:0;padding:0;border:1.5px solid #cbd1df;border-radius:7px;background:#fff;box-shadow:0 1px 2px #17203308;cursor:pointer;transition:background-color .15s,border-color .15s,box-shadow .15s}
.auth-page .login-grid .login-mobile-session input[type=checkbox]::after{content:'';width:10px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg);opacity:0}
.auth-page .login-grid .login-mobile-session:hover input[type=checkbox]{border-color:#1000e8}
.auth-page .login-grid .login-mobile-session input[type=checkbox]:checked{background:#1000e8;border-color:#1000e8;box-shadow:0 2px 6px #1000e826}
.auth-page .login-grid .login-mobile-session input[type=checkbox]:checked::after{opacity:1}
.auth-page .login-grid .login-mobile-session input[type=checkbox]:focus-visible{outline:3px solid #1000e830;outline-offset:3px}
.auth-page .login-grid .login-mobile-session span{gap:4px;line-height:1.4}
.auth-page .login-grid .login-mobile-session strong{font-weight:500}
@media(prefers-reduced-motion:reduce){.auth-page .login-grid .login-mobile-session input[type=checkbox]{transition:none}}
@media(forced-colors:active){.auth-page .login-grid .login-mobile-session input[type=checkbox]{appearance:auto}.auth-page .login-grid .login-mobile-session input[type=checkbox]::after{display:none}}

@media (max-width:760px){
  .auth-page{min-height:100dvh;overflow:hidden;background:#fff}
  .login-shell,.login-window,.login-window-body{height:100dvh;min-height:100dvh}
  .login-window-body,.auth-context-private .login-window-body{display:block}
  .login-showcase,.auth-context-private .login-showcase{display:none}
  .login-form-side,.auth-context-private .login-form-side{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;height:100dvh;max-height:none;overflow-y:auto;padding:max(28px,env(safe-area-inset-top)) 22px max(24px,env(safe-area-inset-bottom));background:#fff}
  .login-form-wrap{width:100%;max-width:430px;margin:auto}
  .login-mobile-brand{display:flex;align-items:center;gap:11px;margin-bottom:44px;color:#111527;font-size:19px;font-weight:700;letter-spacing:-.02em}
  .login-mobile-brand img{display:block;width:38px;height:38px;border-radius:9px}
  .login-form-wrap h2,.auth-context-private .login-form-wrap h2{font-size:38px;line-height:1;letter-spacing:-.04em;color:#111527}
  .login-mobile-intro{display:block;margin:12px 0 0;color:#747b8d;font-size:15px;line-height:1.45}
  .login-one-eyebrow{display:none}
  .login-grid{margin-top:30px;gap:18px}
  .login-grid .field{gap:8px}
  .login-grid .field label{font-size:14px;font-weight:600;color:#353b4e}
  .login-grid input,.auth-context-private .login-grid input{box-sizing:border-box;width:100%;min-height:56px;height:56px;padding:0 16px;border:1px solid #dfe2ea;border-radius:15px;background:#f7f8fa;font-size:16px}
  .login-password-wrap input{padding-right:54px}
  .login-password-toggle{width:48px;height:54px}
  .login-actions-row{margin-top:9px}
  .login-forgot{font-size:14px;font-weight:600}
  .login-mobile-session{padding:2px 0}
  .login-mobile-session input{width:20px;height:20px;min-height:20px;padding:0;border-radius:5px;flex:0 0 auto}
  .login-submit,.auth-context-private .login-submit{width:100%;min-height:56px;height:56px;border-radius:15px;font-size:16px;font-weight:700;box-shadow:0 10px 28px rgba(16,0,232,.18)}
}

@media (max-width:760px) and (max-height:650px){
  .auth-page{overflow:auto}
  .login-form-side,.auth-context-private .login-form-side{align-items:flex-start;height:auto;min-height:100dvh}
  .login-mobile-brand{margin-bottom:28px}
  .login-grid{margin-top:20px;gap:12px}
}
