/* Fotografická vrstva loginu. Je načtená jen na /portal, a proto nemění
   samostatné obrazovky obnovy hesla ani 2FA fallback. */

body.auth-login-page{
  --kxa-photo-x:0;
  --kxa-photo-y:0;
  position:relative;
  min-height:100svh;
  padding:clamp(78px,9vh,112px) clamp(20px,4vw,62px) clamp(28px,5vh,60px);
  background:
    radial-gradient(circle at 83% 16%,rgba(82,157,145,.18),transparent 28%),
    linear-gradient(145deg,rgb(4 16 18),rgb(10 32 33) 48%,rgb(7 20 22))!important;
}

body.auth-login-page::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.24;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(90deg,black,transparent 54%);
}

.kxa-site-return{
  position:fixed;
  z-index:20;
  top:22px;
  left:clamp(20px,4vw,62px);
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:var(--portal-text,rgb(242 240 233));
  opacity:0;
  transform:translateY(-8px);
  animation:kxa-enter-top .65s cubic-bezier(.16,1,.3,1) .18s forwards;
}

.kxa-site-return>span{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border:1px solid color-mix(in srgb,var(--gold,rgb(207 185 130)) 60%,transparent);
  border-radius:50%;
  color:var(--gold,rgb(207 185 130));
  font-family:var(--font-serif,Georgia,serif);
  font-size:17px;
}

.kxa-site-return strong{font-size:13px;letter-spacing:.12em}.kxa-site-return small{display:block;margin-top:2px;font-size:8px;font-weight:500;letter-spacing:.08em;color:var(--portal-text-dim,rgba(255,255,255,.5))}

.auth-login-shell.kxa-stage{
  width:min(1240px,100%);
  min-height:min(730px,calc(100svh - 150px));
  border:1px solid rgba(239,235,224,.18)!important;
  border-radius:22px!important;
  background:rgba(4,15,17,.72)!important;
  box-shadow:0 44px 120px rgba(0,0,0,.52),0 0 0 8px rgba(255,255,255,.018)!important;
  backdrop-filter:blur(18px) saturate(115%)!important;
  opacity:0;
  transform:translateY(22px) scale(.985);
  animation:kxa-enter-stage .9s cubic-bezier(.16,1,.3,1) .08s forwards;
}

.kxa-photo{
  position:absolute;
  z-index:0;
  inset:0;
  overflow:hidden;
  pointer-events:none;
}

.kxa-photo img{
  position:absolute;
  inset:-4%;
  width:108%;
  height:108%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.78) contrast(1.06) brightness(.82);
  transform:translate3d(calc(var(--kxa-photo-x) * -14px),calc(var(--kxa-photo-y) * -10px),0) scale(1.035);
  animation:kxa-photo-breathe 16s ease-in-out infinite alternate;
  will-change:transform;
}

.kxa-photo__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,13,15,.98) 0%,rgba(3,13,15,.92) 35%,rgba(3,13,15,.35) 57%,rgba(3,13,15,.22) 78%,rgba(3,13,15,.48) 100%),linear-gradient(180deg,rgba(3,13,15,.18),transparent 45%,rgba(3,13,15,.42))}
.kxa-photo__grain{position:absolute;inset:-40%;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:kxa-grain .9s steps(2) infinite}
.kxa-photo__line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(207,185,130,.3),transparent);transform-origin:left;animation:kxa-line 7s ease-in-out infinite}.kxa-photo__line--one{left:45%;right:6%;top:23%}.kxa-photo__line--two{left:52%;right:11%;bottom:19%;animation-delay:-3.5s}

.kxa-stage .kxa-pane{z-index:3}
.kxa-stage .kxa-pane[data-kxa-side="left"]::before{
  content:"";
  position:absolute;
  inset:14px -18px 14px 14px;
  z-index:-1;
  border:1px solid rgba(240,237,229,.08);
  border-radius:16px;
  background:linear-gradient(140deg,rgba(5,18,20,.7),rgba(5,18,20,.28));
  box-shadow:inset 0 1px rgba(255,255,255,.035);
  backdrop-filter:blur(20px);
}

.kxa-stage .kxa-band{
  background:
    radial-gradient(120% 90% at 78% 25%,rgba(93,171,157,.12),transparent 45%),
    linear-gradient(150deg,rgba(7,27,29,.26),rgba(3,13,15,.62) 80%)!important;
  backdrop-filter:blur(2px) saturate(104%);
}

.kxa-stage .kxa-band__edge--lead,.kxa-stage .kxa-band__edge--trail{filter:drop-shadow(0 0 9px rgba(207,185,130,.25))}
.kxa-pane__column{position:relative}.kxa-form__eyebrow{display:block;margin:0 0 12px;color:var(--gold,rgb(207 185 130));font-size:9px;font-weight:750;letter-spacing:.18em;text-transform:uppercase}
.kxa-stage .kxa-form__title{font-size:clamp(31px,3vw,42px);letter-spacing:-.025em}.kxa-stage .kxa-form__sub{max-width:38ch}
.kxa-stage .kxa-field input,.kxa-stage .kxa-field textarea{background:rgba(4,15,17,.58)!important;border-color:rgba(240,237,229,.18)!important;box-shadow:inset 0 1px rgba(255,255,255,.03)}
.kxa-stage .kxa-field input:hover,.kxa-stage .kxa-field textarea:hover{border-color:rgba(240,237,229,.3)!important}
.kxa-stage .kxa-submit{position:relative;overflow:hidden;background:linear-gradient(110deg,var(--gold,rgb(207 185 130)),rgb(237 224 180),var(--gold,rgb(207 185 130)))!important;background-size:220% 100%!important;color:rgb(7 19 21)!important;box-shadow:0 12px 30px rgba(0,0,0,.22);transition:transform .2s ease,box-shadow .2s ease,background-position .5s ease!important}.kxa-stage .kxa-submit:hover{background-position:100% 0!important;box-shadow:0 16px 36px rgba(0,0,0,.3);transform:translateY(-2px)}
.kxa-stage .kxa-hero__logo{margin-bottom:16px}.kxa-stage .kxa-hero__mark{border-radius:50%;background:rgba(7,19,21,.68);border:1px solid rgba(207,185,130,.66);color:var(--gold,rgb(207 185 130))}.kxa-stage .kxa-hero__title{font-size:clamp(38px,4vw,61px);line-height:1.01;text-shadow:0 8px 40px rgba(0,0,0,.45)}.kxa-stage .kxa-hero__lead{color:rgba(240,237,229,.7)}.kxa-stage .kxa-hero__stat .lbl{color:rgba(240,237,229,.47)}
.kxa-stage .kxa-badges span{background:rgba(4,15,17,.35);border-color:rgba(240,237,229,.13)}

@keyframes kxa-enter-stage{to{opacity:1;transform:none}}
@keyframes kxa-enter-top{to{opacity:1;transform:none}}
@keyframes kxa-photo-breathe{to{transform:translate3d(calc(var(--kxa-photo-x) * -14px - 1%),calc(var(--kxa-photo-y) * -10px - .8%),0) scale(1.075)}}
@keyframes kxa-grain{0%{transform:translate(1%,0)}50%{transform:translate(-1%,2%)}100%{transform:translate(2%,-1%)}}
@keyframes kxa-line{0%,100%{opacity:.15;transform:scaleX(.25)}45%{opacity:.72;transform:scaleX(1)}}

@media(max-width:900px){
  body.auth-login-page{padding:72px 14px 24px}.kxa-site-return{top:14px;left:18px}.auth-login-shell.kxa-stage{min-height:0;border-radius:18px!important}.kxa-photo{height:var(--kxa-band-h);bottom:auto}.kxa-photo__veil{background:linear-gradient(180deg,rgba(3,13,15,.34),rgba(3,13,15,.62))}.kxa-stage .kxa-band{background:linear-gradient(180deg,rgba(4,15,17,.18),rgba(4,15,17,.48))!important}.kxa-stage .kxa-pane[data-kxa-side="left"]::before{display:none}.kxa-stage .kxa-hero__title{font-size:28px}.kxa-photo__line{display:none}
}

@media(max-width:560px){.kxa-site-return strong small{display:none}.kxa-site-return>span{width:32px;height:32px}.kxa-stage .kxa-form__title{font-size:29px}}

@media(prefers-reduced-motion:reduce){.auth-login-shell.kxa-stage,.kxa-site-return{opacity:1;transform:none;animation:none}.kxa-photo img,.kxa-photo__grain,.kxa-photo__line{animation:none!important}.kxa-photo img{transform:none}.kxa-stage .kxa-submit:hover{transform:none}}

@media(forced-colors:active){.kxa-photo{display:none}.kxa-stage .kxa-pane[data-kxa-side="left"]::before{border:1px solid CanvasText}.kxa-site-return>span{border-color:CanvasText}}
