
html,body{background:#fff}
.login-page{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:50% 50%;background:#fff}
.login-hero{
  position:relative;min-height:100vh;min-height:100dvh;overflow:hidden;
  background:linear-gradient(rgba(255,255,255,.08),rgba(255,255,255,.08)),url("../img/london-bg.jpg") center/cover no-repeat
}
.login-hero-inner{height:100%;min-height:100vh;min-height:100dvh;padding:clamp(36px,5vw,72px);display:flex;flex-direction:column;justify-content:space-between}
.login-hero h1{margin:0;max-width:92%;font-size:clamp(30px,3vw,48px);line-height:1.08;color:#3f4650;letter-spacing:-.025em}
.login-copy{max-width:610px;padding-bottom:clamp(10px,2vh,26px)}
.login-lead{font-size:clamp(16px,1.35vw,21px);line-height:1.45;font-weight:600;margin:0 0 22px}
.login-features{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px}
.login-feature{
  display:grid;
  grid-template-columns:30px 1fr;
  gap:11px;
  align-items:start;
  font-size:clamp(14px,1.1vw,18px);
  line-height:1.28;
  font-weight:600;
}
.feature-icon{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  color:#111827;
}
.feature-icon svg{
  width:27px;
  height:27px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.login-words{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:24px;font-size:clamp(10px,.9vw,14px);letter-spacing:.18em;font-weight:800}
.login-words i{height:22px;width:1px;background:#7c8490}
.login-panel{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:clamp(30px,4vw,62px);background:#fff}
.login-box{width:min(690px,100%);min-height:calc(100dvh - 96px);display:flex;flex-direction:column;text-align:center}
.login-logo{display:block;width:min(252px,43%);height:auto;object-fit:contain;margin:0 auto 14px}
.login-box h2{margin:10px 0 8px;font-size:clamp(30px,3vw,42px);font-weight:400;letter-spacing:-.025em}
.login-sub{color:var(--muted);font-size:clamp(15px,1.25vw,18px);margin-bottom:clamp(34px,5vh,54px)}
.login-form{display:grid;grid-template-columns:1fr;gap:26px}
.login-field{text-align:left}
.login-field label{font-size:14px;font-weight:500;color:#687180}
.login-input-wrap{position:relative}
.login-input-wrap input{
  width:100%;height:58px;border:0;border-bottom:.5px solid #dfe3e8;border-radius:0;background:transparent;outline:none;
  padding:0 44px 0 42px;font-size:18px;box-shadow:none
}
.login-input-wrap input:focus{border-bottom:.5px solid #bfc5cd;border-radius:9px;background:#f1f3f5;box-shadow:none}
#email{font-size:18px}
#email::placeholder{font-size:18px}
.login-input-icon{
  position:absolute;
  left:4px;
  top:50%;
  transform:translateY(-50%);
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  color:#111827;
}
.login-input-icon svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.login-eye{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:9px;background:transparent;color:#6f7785;display:grid;place-items:center}
.login-eye:hover{background:#f5f6f7}
.login-lower{margin-top:clamp(36px,5vh,54px);display:grid;grid-template-columns:minmax(250px,1fr) 144px;gap:clamp(22px,3vw,48px);align-items:center}
.robot{height:62px;display:flex;align-items:center;justify-content:flex-start;gap:14px;padding:0;cursor:pointer;user-select:none;text-align:left}
.robot-left{display:flex;align-items:center;gap:14px;font-size:17px}
.robot-box{width:31px;height:31px;border:1.5px solid #98a0ab;border-radius:2px;display:grid;place-items:center;color:var(--red);font-size:21px;font-weight:800}
.robot-seal{width:34px;height:34px;border:2px solid var(--red);border-radius:50%;display:grid;place-items:center;color:var(--red);font-weight:800;margin-left:2px}
.login-enter{width:144px;height:50px;border:0;border-radius:9px;background:var(--red);color:#fff;font-size:18px;font-weight:700}
.login-enter:hover{background:var(--red-dark)}
.login-links{margin-top:clamp(40px,6vh,66px);color:#808896;font-size:14px}
.login-links a:hover{color:var(--red)}
.login-instructions{margin-top:44px;color:#adb3be;font-size:12px}
.login-footer{margin-top:auto;padding-top:42px;display:flex;justify-content:space-between;gap:20px;color:#707887;font-size:12px;text-align:left}
@media(max-width:820px){
  .login-page{display:block}
  .login-hero{display:none!important}
  .login-panel{
    width:100%;min-height:100vh;min-height:100dvh;align-items:flex-start;
    padding:max(24px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))
  }
  .login-box{width:100%;max-width:520px;margin:0 auto;padding-top:clamp(18px,7vh,60px)}
  .login-logo{width:min(198px,47vw);max-width:100%}
  .login-lower{grid-template-columns:1fr;gap:18px;margin-top:30px}
  .robot{height:58px}
  .login-enter{width:100%;height:46px}
  .login-instructions{display:none}
  .login-footer{flex-direction:column;text-align:center;align-items:center;gap:8px}
}


/* =========================================================
   Fase 4.7 — Login sem barra de rolagem
   ========================================================= */
@media(min-width:821px){
  html,
  body{
    width:100%;
    height:100%;
    margin:0;
    overflow:hidden!important;
  }

  .login-page{
    width:100%;
    height:100vh!important;
    height:100dvh!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  .login-hero,
  .login-panel{
    height:100vh!important;
    height:100dvh!important;
    min-height:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  .login-hero-inner{
    height:100%!important;
    min-height:0!important;
    box-sizing:border-box!important;
    /* Sem o título, a foto pode ser levemente recortada na altura. */
    padding-top:clamp(24px,3.2vh,42px)!important;
    padding-bottom:clamp(24px,3.2vh,42px)!important;
  }

  .login-panel{
    padding-top:clamp(20px,2.8vh,36px)!important;
    padding-bottom:clamp(20px,2.8vh,36px)!important;
  }

  .login-box{
    width:min(690px,100%);
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  .login-logo{
    margin-bottom:8px!important;
  }

  .login-box h2{
    margin-top:5px!important;
  }

  .login-sub{
    margin-bottom:clamp(20px,3vh,34px)!important;
  }

  .login-form{
    gap:20px!important;
  }

  .login-lower{
    margin-top:clamp(22px,3.2vh,36px)!important;
  }

  .login-links{
    margin-top:clamp(22px,3.5vh,38px)!important;
  }

  .login-instructions{
    margin-top:24px!important;
  }

  .login-footer{
    margin-top:auto!important;
    padding-top:18px!important;
    padding-bottom:0!important;
  }
}

/* Em notebook com pouca altura, compacta mais sem criar rolagem. */
@media(min-width:821px) and (max-height:760px){
  .login-panel{
    padding-top:14px!important;
    padding-bottom:14px!important;
  }
  .login-logo{
    width:min(210px,38%)!important;
    margin-bottom:4px!important;
  }
  .login-box h2{
    margin:3px 0 4px!important;
    font-size:clamp(27px,2.6vw,36px)!important;
  }
  .login-sub{
    margin-bottom:16px!important;
  }
  .login-input-wrap input{
    height:52px!important;
  }
  .login-lower{
    margin-top:18px!important;
  }
  .robot{
    height:54px!important;
  }
  .login-links{
    margin-top:18px!important;
  }
  .login-instructions{
    margin-top:16px!important;
  }
  .login-footer{
    padding-top:12px!important;
  }
  .login-copy{
    padding-bottom:4px!important;
  }
  .login-words{
    margin-top:16px!important;
  }
}


/* =========================================================
   Fase 4.8 — Login limpo e conteúdo centralizado
   ========================================================= */

/* Lado esquerdo:
   mantém apenas TECNOLOGIA | PRATICIDADE | RESULTADOS no rodapé da foto. */
@media(min-width:821px){
  .login-hero-inner{
    justify-content:flex-end!important;
  }

  .login-words-footer{
    margin:0!important;
    padding:0 0 2px!important;
  }

  /* Bloco principal da direita ocupa o espaço entre cabeçalho e rodapé. */
  .login-box{
    display:flex!important;
    flex-direction:column!important;
  }

  .login-center-content{
    flex:1 1 auto!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }

  /* Remove margens exageradas antigas para manter o conjunto realmente centralizado. */
  .login-center-content .login-lower{
    margin-top:30px!important;
  }

  .login-center-content .login-links{
    margin-top:28px!important;
  }

  .login-center-content .login-instructions{
    margin-top:26px!important;
  }

  /* Rodapé direito agora mostra somente direitos reservados. */
  .login-footer{
    margin-top:0!important;
    padding-top:16px!important;
    justify-content:center!important;
    text-align:center!important;
  }
}

/* Celular: mantém fluxo natural; o lado esquerdo continua oculto. */
@media(max-width:820px){
  .login-center-content{
    display:block;
  }

  .login-footer{
    justify-content:center!important;
  }
}


/* =========================================================
   Fase 4.9 — restaura texto + ícones no lado esquerdo
   sem trazer de volta a barra de rolagem
   ========================================================= */
@media(min-width:821px){
  .login-hero-inner{
    justify-content:space-between!important;
    padding-top:clamp(24px,3.2vh,40px)!important;
    padding-bottom:clamp(20px,2.8vh,32px)!important;
  }

  .login-copy-restored{
    margin-top:auto!important;
    margin-bottom:auto!important;
    width:min(560px,92%)!important;
  }

  .login-copy-restored .login-lead{
    margin:0 0 18px!important;
    font-size:clamp(15px,1.05vw,18px)!important;
    line-height:1.35!important;
    font-weight:600!important;
  }

  .login-copy-restored .login-features{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px 22px!important;
    margin:0!important;
  }

  .login-copy-restored .login-feature{
    display:flex!important;
    align-items:flex-start!important;
    gap:10px!important;
    font-size:clamp(12px,.84vw,14px)!important;
    line-height:1.28!important;
    font-weight:600!important;
  }

  .login-copy-restored .feature-icon{
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    flex:0 0 24px!important;
    display:grid!important;
    place-items:center!important;
  }

  .login-copy-restored .feature-icon svg{
    width:22px!important;
    height:22px!important;
  }

  .login-words-footer{
    flex:0 0 auto!important;
    margin:0!important;
    padding:0!important;
  }
}

/* Notebooks com pouca altura: compacta mais o bloco esquerdo. */
@media(min-width:821px) and (max-height:760px){
  .login-copy-restored .login-lead{
    margin-bottom:12px!important;
    font-size:14px!important;
  }

  .login-copy-restored .login-features{
    gap:10px 18px!important;
  }

  .login-copy-restored .login-feature{
    font-size:11.5px!important;
  }

  .login-copy-restored .feature-icon{
    width:21px!important;
    height:21px!important;
    min-width:21px!important;
    flex-basis:21px!important;
  }

  .login-copy-restored .feature-icon svg{
    width:19px!important;
    height:19px!important;
  }
}


/* =========================================================
   Fase 4.10 — bloco de informações mais baixo na foto
   ========================================================= */
@media(min-width:821px){
  .login-hero-inner{
    justify-content:flex-end!important;
  }

  /* Texto principal + 4 recursos ficam na parte de baixo,
     logo acima de TECNOLOGIA | PRATICIDADE | RESULTADOS. */
  .login-copy-restored{
    width:min(560px,92%)!important;
    margin:0 0 24px 0!important;
  }

  .login-copy-restored .login-lead{
    margin:0 0 16px!important;
  }

  .login-words-footer{
    margin:0!important;
    padding:0!important;
    flex:0 0 auto!important;
  }
}

/* Em telas com pouca altura, aproxima ainda mais do rodapé
   sem criar barra de rolagem. */
@media(min-width:821px) and (max-height:760px){
  .login-copy-restored{
    margin-bottom:16px!important;
  }

  .login-copy-restored .login-lead{
    margin-bottom:10px!important;
  }
}

.login-title{
  margin:0 0 6px;
  font-size:28px;
  line-height:1.15;
  font-weight:600;
  text-align:center;
  color:inherit;
}
@media (max-width: 768px){
  .login-title{
    font-size:26px;
  }
}

/* LondonPlayer 2.7.0 — olho estático + alinhamento consistente */
.login-eye{
  top:50%!important;
  transform:translateY(-50%)!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
}
.login-eye:hover,
.login-eye:focus,
.login-eye:active{
  top:50%!important;
  transform:translateY(-50%)!important;
  margin:0!important;
}
.login-eye span{
  display:grid!important;
  place-items:center!important;
  line-height:0!important;
}
.login-eye svg{
  display:block!important;
}

/* LondonPlayer 2.7.0 — identidade visual das telas de acesso */
.login-logo{
  width:min(240px,42%)!important;
  height:auto!important;
  object-fit:contain!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* E-mail e senha com leitura equivalente */
#email{
  font-size:18px!important;
}

/* Olho totalmente estático */
.login-eye{
  top:50%!important;
  transform:translateY(-50%)!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
}
.login-eye:hover,
.login-eye:focus,
.login-eye:active{
  top:50%!important;
  transform:translateY(-50%)!important;
  margin:0!important;
  padding:0!important;
}
.login-eye span{
  display:grid!important;
  place-items:center!important;
  line-height:0!important;
}
.login-eye svg{
  display:block!important;
  transform:none!important;
}

.login-title{
  margin:0 0 6px!important;
  font-size:28px!important;
  line-height:1.15!important;
  font-weight:600!important;
  text-align:center!important;
}

@media (max-width:768px){
  .login-logo{
    width:min(210px,58%)!important;
  }
  .login-title{
    font-size:26px!important;
  }
}


/* =========================================================
   LondonPlayer 2.7.0 — LOGIN MOBILE: fonte + olho estável
   Escopo: somente /player/login/
   ========================================================= */

/* E-mail e senha devem ter exatamente a mesma tipografia,
   inclusive em autofill e durante digitação no navegador móvel. */
.login-input-wrap input#email,
.login-input-wrap input#password{
  font-family:inherit!important;
  font-size:18px!important;
  font-weight:400!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  -webkit-text-size-adjust:100%!important;
  text-size-adjust:100%!important;
}

.login-input-wrap input#email::placeholder,
.login-input-wrap input#password::placeholder{
  font-family:inherit!important;
  font-size:18px!important;
  font-weight:400!important;
}

.login-input-wrap input#email:-webkit-autofill,
.login-input-wrap input#password:-webkit-autofill,
.login-input-wrap input#email:-webkit-autofill:hover,
.login-input-wrap input#password:-webkit-autofill:hover,
.login-input-wrap input#email:-webkit-autofill:focus,
.login-input-wrap input#password:-webkit-autofill:focus{
  font-family:inherit!important;
  font-size:18px!important;
  -webkit-text-fill-color:currentColor!important;
}

/* Posição matemática fixa: input 58px, botão 44px => 7px no topo.
   Não usa translateY, evitando qualquer salto herdado de hover/focus. */
.login-input-wrap .login-eye{
  position:absolute!important;
  right:2px!important;
  top:7px!important;
  bottom:auto!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  transform:none!important;
  translate:none!important;
  scale:1!important;
  line-height:1!important;
  display:grid!important;
  place-items:center!important;
  vertical-align:middle!important;
}

.login-input-wrap .login-eye:hover,
.login-input-wrap .login-eye:focus,
.login-input-wrap .login-eye:focus-visible,
.login-input-wrap .login-eye:active{
  top:7px!important;
  bottom:auto!important;
  transform:none!important;
  translate:none!important;
  scale:1!important;
  margin:0!important;
  padding:0!important;
}

.login-input-wrap .login-eye span{
  width:24px!important;
  height:24px!important;
  display:block!important;
  line-height:0!important;
  transform:none!important;
  pointer-events:none!important;
}

.login-input-wrap .login-eye svg{
  width:24px!important;
  height:24px!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  pointer-events:none!important;
}

@media(max-width:820px){
  .login-input-wrap input#email,
  .login-input-wrap input#password,
  .login-input-wrap input#email::placeholder,
  .login-input-wrap input#password::placeholder{
    font-size:18px!important;
  }
}
