/* Sign-in page: full-screen picture slideshow (HR-managed, login_slides.php) + frosted-glass card on the right. */
body.lg{
  --lg-ink:#0b0d1c;--lg-text:#eef0ff;--lg-muted:#b6b9dc;--lg-label:#c9cbf0;
  --lg-accent:#8f96ec;--lg-accent-hi:#a8adff;--lg-orange:#fb8e28;--lg-blue:#2e3790;
  --lg-glass:rgba(20,22,54,.46);--lg-glass-line:rgba(255,255,255,.18);
  --lg-field:rgba(255,255,255,.08);--lg-field-line:rgba(255,255,255,.18);
  --lg-bad:#ffb3c4;--lg-bad-bg:rgba(195,38,78,.28);
  margin:0;min-height:100vh;background:var(--lg-ink);color:var(--lg-text);
  font-family:"Lato",system-ui,-apple-system,"Segoe UI",sans-serif;overflow:hidden;color-scheme:dark;
}
body.lg *{box-sizing:border-box}

/* ---------- background ---------- */
.lg-stage{position:fixed;inset:0;overflow:hidden;background:var(--lg-ink)}
.lg-slide{position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:0;transform:scale(1.12) translateX(2%);transition:opacity 1.4s ease,transform 7.5s ease-out}
.lg-slide.on{opacity:1;transform:scale(1) translateX(0)}
.lg-stage::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(8,10,26,.12) 0%,rgba(8,10,26,.32) 45%,rgba(8,10,26,.78) 100%),
             linear-gradient(0deg,rgba(8,10,26,.72) 0%,rgba(8,10,26,0) 42%)}
/* no pictures uploaded yet: slow brand-colour wash */
.lg-stage.empty{background:
  radial-gradient(60vmax 60vmax at 20% 30%,rgba(46,55,144,.85),transparent 60%),
  radial-gradient(45vmax 45vmax at 75% 80%,rgba(251,142,40,.28),transparent 60%),
  radial-gradient(50vmax 50vmax at 60% 10%,rgba(143,150,236,.35),transparent 60%),var(--lg-ink);
  background-size:140% 140%;animation:lgWash 18s ease-in-out infinite alternate}
@keyframes lgWash{to{background-position:100% 60%,0% 30%,30% 100%,0 0}}

/* ---------- caption, bottom-left ---------- */
.lg-caption{position:fixed;left:48px;bottom:48px;z-index:2;max-width:min(540px,44vw)}
.lg-caption[hidden]{display:none}
.lg-tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--lg-orange);margin-bottom:10px}
.lg-tag:empty{display:none}
.lg-caption h2{margin:0;font-size:clamp(24px,3vw,38px);font-weight:900;line-height:1.15;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.lg-caption p{margin:10px 0 0;color:#d7d9f3;font-size:16px;line-height:1.5;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.lg-caption p:empty{display:none}
.lg-tag,.lg-caption h2,.lg-caption p{transition:opacity .45s ease,transform .45s ease}
.lg-caption.swap .lg-tag,.lg-caption.swap h2,.lg-caption.swap p{opacity:0;transform:translateY(10px)}
.lg-dots{display:flex;gap:8px;margin-top:22px}
.lg-dot{width:34px;height:4px;border:0;padding:0;border-radius:4px;cursor:pointer;background:rgba(255,255,255,.28);position:relative;overflow:hidden}
.lg-dot::before{content:"";position:absolute;inset:-10px 0}/* bigger touch target */
.lg-dot i{position:absolute;inset:0;width:0;background:var(--lg-text);border-radius:4px}
.lg-dot.on i{animation:lgFill var(--lg-ms,6000ms) linear forwards}
.lg-dot.done i{width:100%}
@keyframes lgFill{to{width:100%}}

/* ---------- glass card, right side ---------- */
.lg-card{position:fixed;z-index:3;top:50%;right:56px;transform:translateY(-50%);
  width:min(420px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;
  padding:32px 32px 26px;border-radius:24px;background:var(--lg-glass);border:1px solid var(--lg-glass-line);
  -webkit-backdrop-filter:blur(22px) saturate(140%);backdrop-filter:blur(22px) saturate(140%);
  box-shadow:0 30px 80px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.12);
  animation:lgRise .8s cubic-bezier(.2,.8,.2,1) both}
@keyframes lgRise{from{opacity:0;margin-top:24px}}
.lg-brand{display:flex;flex-direction:column;align-items:center;gap:8px;padding-bottom:18px;border-bottom:1px solid var(--lg-glass-line)}
.lg-brand img{width:min(240px,70%);height:auto;display:block;filter:drop-shadow(0 4px 14px rgba(0,0,0,.35))}
.lg-brand span{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--lg-orange)}
.lg-card h1{font-size:30px;font-weight:900;margin:20px 0 4px;color:var(--lg-text)}
.lg-lede{color:var(--lg-muted);font-size:14px;margin:0 0 6px}
.lg-msg{margin:12px 0 0;padding:10px 12px;border-radius:10px;font-size:14px;background:rgba(255,255,255,.08)}
.lg-msg.err{background:var(--lg-bad-bg);color:var(--lg-bad)}
.lg-f{display:block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--lg-label);margin:18px 0 8px}
.lg-in{width:100%;height:50px;padding:0 16px;border-radius:12px;background:var(--lg-field);border:1px solid var(--lg-field-line);
  color:var(--lg-text);font:inherit;font-size:15px;outline:none;transition:border-color .2s,background .2s,box-shadow .2s}
.lg-in:focus{border-color:var(--lg-accent-hi);background:rgba(255,255,255,.12);box-shadow:0 0 0 4px rgba(143,150,236,.28)}
.lg-pw{position:relative}.lg-pw .lg-in{padding-right:70px}
.lg-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--lg-muted);
  font:inherit;font-size:13px;font-weight:700;cursor:pointer;padding:10px}
.lg-eye:hover,.lg-eye:focus-visible{color:var(--lg-text)}
.lg-keep{display:flex;gap:12px;align-items:flex-start;margin:20px 0 0;cursor:pointer}
.lg-keep input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--lg-accent);flex:none;cursor:pointer}
.lg-keep b{display:block;font-size:14px;font-weight:700}
.lg-keep small{display:block;color:var(--lg-muted);font-size:13px;margin-top:3px}
.lg-btn{width:100%;height:52px;margin-top:22px;border:0;border-radius:999px;cursor:pointer;
  background:linear-gradient(135deg,var(--lg-accent-hi),var(--lg-accent));color:#14163a;font:inherit;font-size:16px;font-weight:900;
  box-shadow:0 10px 26px rgba(143,150,236,.35);transition:transform .15s,box-shadow .2s,filter .2s}
.lg-btn:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 14px 32px rgba(143,150,236,.45)}
.lg-btn:focus-visible,.lg-dot:focus-visible{outline:3px solid var(--lg-orange);outline-offset:3px}
.lg-help{margin:18px 0 0;text-align:center;color:var(--lg-muted);font-size:13px}
.lg-help b{color:var(--lg-text)}
.lg-copy{margin:14px 0 0;text-align:center;color:var(--lg-muted);font-size:11px;line-height:1.4;opacity:.85}

/* ---------- phones / small windows ---------- */
@media (max-width:860px){
  .lg-caption{display:none}
  .lg-card{right:50%;transform:translate(50%,-50%);padding:26px 22px 22px}
}
@media (max-height:620px){
  body.lg{overflow:auto}
  .lg-card{position:relative;top:auto;right:auto;transform:none;margin:16px auto;max-height:none}
}
@media (prefers-reduced-motion:reduce){
  .lg-slide{transition:opacity .6s}.lg-slide,.lg-slide.on{transform:none}
  .lg-stage.empty,.lg-card{animation:none}
  .lg-dot.on i{animation:none;width:100%}
}
.lg-help a{color:var(--lg-accent);font-weight:700;text-decoration:none;white-space:nowrap}
.lg-help a:hover{text-decoration:underline}
