/* TFF login: premium glass look */
:root{--lime:#b8dc7a;--leaf:#6fa83a;--deep:#0d2310}
html,body{margin:0;min-height:100%}
body.lp{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--deep);color:#fff;-webkit-font-smoothing:antialiased}
.stage{position:relative;min-height:100vh;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(380px,1fr);overflow:hidden;isolation:isolate}
/* blurred, darkened backdrop built from the video's own poster frame */
.stage .bg{position:absolute;inset:-60px;z-index:-2;background:var(--deep) center/cover no-repeat;filter:blur(46px) saturate(1.4) brightness(.36);transform:scale(1.05)}
.stage:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(1200px 700px at 15% 10%,rgba(120,180,60,.18),transparent 60%),linear-gradient(135deg,rgba(10,40,14,.72),rgba(10,40,14,.45) 55%,rgba(8,30,10,.75))}

/* left: video, fully visible (16:9 frame matches the video) */
.left{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:48px 48px 48px 56px}
.frame{position:relative;width:100%;max-width:960px;height:0;padding-bottom:56.25%;border-radius:24px;overflow:hidden;background:#000;
  border:1px solid rgba(255,255,255,.28);box-shadow:0 30px 80px rgba(0,0,0,.55),0 0 0 8px rgba(255,255,255,.06)}
.frame video{position:absolute;top:0;left:0;display:block;width:100%;height:100%;object-fit:contain}
.cap{width:100%;max-width:960px;margin-top:28px}
.cap h1{font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:clamp(26px,2.6vw,40px);color:#fff;margin:0 0 6px;letter-spacing:.01em}
.cap p{margin:0;color:#d4ecb6;font-size:clamp(14px,1.3vw,18px);letter-spacing:.04em}

/* right: logo + glass form */
.right{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:40px 56px 40px 24px}
.logo-card{box-sizing:border-box;width:100%;max-width:400px;background:#fff;border-radius:22px;padding:14px 20px 12px;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.logo-card img{display:block;width:58%;max-width:230px;height:auto;margin:0 auto}
.glass{width:100%;max-width:400px;box-sizing:border-box;padding:30px 30px 26px;border-radius:24px;
  background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.3);
  -webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);
  box-shadow:0 24px 60px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.35)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.glass{background:rgba(20,50,20,.8)}}
.glass h2{font-family:Georgia,"Times New Roman",serif;font-size:27px;margin:0 0 4px;text-align:center;color:#fff}
.glass .sub{margin:0 0 24px;text-align:center;color:rgba(255,255,255,.75);font-size:14px}
.glass label{display:block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.82);margin:0 0 7px}
.field{margin-bottom:16px;position:relative}
.glass input{width:100%;box-sizing:border-box;padding:13px 15px;font:inherit;font-size:15px;color:#fff;border-radius:12px;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.32);transition:border-color .15s,box-shadow .15s,background .15s}
.glass input::placeholder{color:rgba(255,255,255,.55)}
.glass input:focus{outline:none;background:rgba(255,255,255,.2);border-color:var(--lime);box-shadow:0 0 0 4px rgba(184,220,122,.22)}
.glass input:-webkit-autofill{-webkit-text-fill-color:#fff;caret-color:#fff;transition:background-color 99999s ease-out 0s}
.pw input{padding-right:48px}
.eye{position:absolute;right:6px;bottom:5px;width:38px;height:36px;border:0;background:none;color:rgba(255,255,255,.75);cursor:pointer;font-size:17px;border-radius:8px}
.eye:hover{color:#fff;background:rgba(255,255,255,.12)}
.go{width:100%;margin-top:6px;padding:14px;border:0;border-radius:12px;cursor:pointer;font:inherit;font-weight:700;font-size:15px;letter-spacing:.03em;color:#0d2310;
  background:linear-gradient(135deg,#d3ec9a,#8fc454 55%,#6fa83a);box-shadow:0 10px 26px rgba(111,168,58,.45),inset 0 1px 0 rgba(255,255,255,.55);transition:transform .12s,box-shadow .12s,filter .12s}
.go:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 14px 30px rgba(111,168,58,.55),inset 0 1px 0 rgba(255,255,255,.55)}
.go:active{transform:none}
.err{margin:0 0 14px;padding:10px 14px;border-radius:10px;font-size:14px;background:rgba(220,38,38,.28);border:1px solid rgba(254,202,202,.5);color:#ffe4e4}
.foot{margin:18px 0 0;text-align:center;font-size:12px;color:rgba(255,255,255,.6)}

@media(max-width:980px){
  .stage{grid-template-columns:1fr}
  .left{padding:28px 20px 8px}.cap{margin-top:16px}.cap p{display:none}
  .frame{border-radius:18px}
  .right{padding:20px 20px 36px}
}
@media(prefers-reduced-motion:reduce){.go{transition:none}}
