:root{
  --av-green:#0c5837;
  --av-green-2:#176b42;
  --av-lime:#8dc653;
  --av-brown:#59341f;
  --av-paper:#fbfaf5;
  --av-ink:#0f2c28;
  --av-muted:#6e7679;
  --av-line:#d7dcda;
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;font-family:"Segoe UI",Roboto,Arial,sans-serif;color:#102a42;background:var(--av-paper)}
body{overflow:hidden}
button,input{font:inherit}
svg{display:block}

.av-login{
  width:100vw;
  height:100dvh;
  min-height:560px;
  display:grid;
  grid-template-columns:minmax(0,62.2fr) minmax(420px,37.8fr);
  background:#fff;
  overflow:hidden;
}

/* HERO */
.av-login-hero{position:relative;min-width:0;height:100dvh;min-height:560px;overflow:hidden;background:#17362a;color:#fff}
.av-login-hero-image{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;
  filter:saturate(.92) contrast(1.02) brightness(.93);
}
.av-login-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(5,25,30,.82) 0%,rgba(5,25,30,.63) 28%,rgba(5,25,30,.30) 54%,rgba(5,25,30,.04) 78%),
    linear-gradient(0deg,rgba(5,25,26,.40) 0%,rgba(5,25,26,.12) 32%,rgba(5,25,26,.10) 100%);
}
.av-login-hero-content{
  position:relative;z-index:2;height:100%;display:flex;flex-direction:column;
  padding:clamp(24px,4.1vh,44px) clamp(34px,4vw,62px) clamp(22px,3.6vh,38px);
}
.av-login-kicker{display:flex;align-items:center;gap:14px;font-size:clamp(9px,1.05vw,12px);letter-spacing:.34em;white-space:nowrap}
.av-login-kicker span,.av-login-foot span{width:40px;height:2px;background:#a7d86d;flex:none}
.av-login-kicker i{width:1px;height:19px;background:rgba(255,255,255,.72)}
.av-login-kicker strong{font-weight:700}

.av-login-message{margin:auto 0;max-width:620px;transform:translateY(-1.2vh)}
.av-login-message h1{
  margin:0;font-size:clamp(38px,3.45vw,61px);line-height:.91;letter-spacing:-.045em;font-weight:850;text-shadow:0 4px 22px rgba(0,0,0,.18)
}
.av-login-message h1 em{color:#b5ea82;font-style:normal}
.av-accent-stroke{width:clamp(160px,18vw,270px);height:5px;margin:12px 0 0 4px;border-radius:50%;background:#86c64c;transform:rotate(-5deg)}
.av-login-message>p{max-width:450px;margin:clamp(16px,2.4vh,25px) 0 0;font-size:clamp(16px,1.32vw,21px);line-height:1.34}
.av-login-benefits{display:grid;gap:clamp(10px,1.55vh,17px);margin-top:clamp(18px,2.6vh,30px)}
.av-login-benefits article{display:flex;align-items:center;gap:15px}
.av-login-benefits article>b{
  width:clamp(46px,3.7vw,59px);height:clamp(46px,3.7vw,59px);display:grid;place-items:center;border-radius:50%;
  background:rgba(9,83,50,.88);border:1px solid rgba(255,255,255,.33);box-shadow:0 8px 24px rgba(0,0,0,.14);flex:none
}
.av-login-benefits article:nth-child(2)>b{background:rgba(113,64,28,.91)}
.av-login-benefits article:nth-child(3)>b{background:rgba(12,58,87,.92)}
.benefit-icon svg{width:52%;height:52%;fill:#fff}
.av-login-benefits span{display:flex;flex-direction:column}
.av-login-benefits strong{font-size:clamp(15px,1.23vw,19px);line-height:1.05}
.av-login-benefits small{margin-top:3px;font-size:clamp(12px,.93vw,14px);line-height:1.28;color:rgba(255,255,255,.94)}
.av-login-foot{display:flex;align-items:flex-start;gap:14px;letter-spacing:.28em}
.av-login-foot small{font-size:clamp(8px,.72vw,10px);line-height:1.55;font-weight:700}

/* PANEL DERECHO */
.av-login-access{
  position:relative;height:100dvh;min-height:560px;display:grid;place-items:center;
  padding:clamp(18px,3vh,32px) clamp(38px,4.7vw,76px);
  background:
    radial-gradient(ellipse at 118% 58%,rgba(124,157,79,.075) 0 28%,transparent 28.2%),
    linear-gradient(180deg,#fffefb 0%,#fbfaf5 100%);
  overflow:hidden;
}
.av-login-access:after{
  content:"";position:absolute;right:-22%;top:24%;width:52%;height:72%;pointer-events:none;opacity:.52;
  background:linear-gradient(150deg,transparent 0 29%,rgba(142,173,101,.075) 29.2% 42%,transparent 42.2% 54%,rgba(142,173,101,.055) 54.2% 67%,transparent 67.2%);
  transform:skewX(-8deg);
}
.av-login-language{position:absolute;right:clamp(26px,3vw,46px);top:clamp(20px,3vh,34px);z-index:3;color:#102d28;font-size:12px;font-weight:800;letter-spacing:.04em}
.av-login-language span{font-size:16px;margin-left:5px}
.av-login-card{position:relative;z-index:2;width:min(100%,440px);display:flex;flex-direction:column}
.av-login-brand{text-align:center;display:flex;flex-direction:column;align-items:center;line-height:1}
.av-login-brand img{width:clamp(75px,6vw,104px);height:clamp(82px,6.8vw,116px);object-fit:contain}
.av-login-brand strong{margin-top:2px;color:#07342d;font-size:clamp(34px,3vw,49px);letter-spacing:.025em;font-weight:900}
.av-tagline{margin:clamp(9px,1.4vh,15px) auto clamp(6px,1vh,10px);text-align:center;color:#12392e}
.av-tagline p{margin:0;font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive;font-size:clamp(21px,1.8vw,30px);line-height:1.08;transform:rotate(-2deg)}
.av-tagline span{display:block;width:clamp(150px,13vw,215px);height:4px;margin:10px auto 0;border-radius:50%;background:#82ad4b;transform:rotate(-5deg)}
.av-login-product{text-align:center;margin:clamp(7px,1.1vh,11px) 0 clamp(15px,2vh,22px)}
.av-login-product strong{display:block;color:#5d3824;font-size:clamp(24px,2vw,32px);line-height:1}
.av-login-product span{display:block;margin-top:6px;color:#727b80;font-size:clamp(11px,.9vw,14px);line-height:1.36}

.av-field{display:block;margin-top:clamp(9px,1.25vh,13px)}
.av-field>span{display:block;margin-bottom:5px;color:#172b3a;font-size:clamp(11px,.83vw,13px);font-weight:800}
.av-input{
  height:clamp(48px,6vh,56px);display:flex;align-items:center;gap:11px;padding:0 14px;border:1px solid #cbd3d5;border-radius:12px;background:#fff;
  box-shadow:0 5px 14px rgba(18,42,53,.025)
}
.av-input:focus-within{border-color:#6b9b78;box-shadow:0 0 0 3px rgba(46,123,73,.08)}
.av-input i{width:22px;display:grid;place-items:center;color:#6d777b;font-style:normal;flex:none}
.av-input i svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.av-input input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#173248;font-size:clamp(12px,.92vw,14px)}
.av-input input::placeholder{color:#939ba0}
.av-password-toggle{width:34px;height:34px;display:grid;place-items:center;border:0;background:transparent;color:#6b7579;cursor:pointer;padding:6px;border-radius:50%}
.av-password-toggle:hover{background:#f3f5f3}
.av-password-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.av-password-toggle .eye-closed{display:none}
.av-password-toggle.is-visible .eye-open{display:none}
.av-password-toggle.is-visible .eye-closed{display:block}

.notice{margin:0 0 2px;padding:9px 11px;border-radius:9px;font-size:11px}
.notice.error{background:#fff0f0;border:1px solid #f0c6c6;color:#9a3333}
.notice.ok{background:#edf7ef;border:1px solid #c8e2ce;color:#20683d}
.av-login-submit{
  height:clamp(48px,6.1vh,56px);margin-top:clamp(15px,2vh,20px);display:flex;align-items:center;justify-content:center;gap:15px;border:0;border-radius:999px;
  background:linear-gradient(180deg,#176b42,#0d5535);color:#fff;font-size:clamp(16px,1.18vw,19px);font-weight:850;cursor:pointer;box-shadow:0 12px 25px rgba(12,88,55,.16)
}
.av-login-submit:hover{filter:brightness(1.04)}
.av-login-submit:disabled{opacity:.6;cursor:wait}
.av-login-submit b{font-size:24px;font-weight:400;line-height:1}
.av-login-help{align-self:center;margin:clamp(11px,1.5vh,15px) 0 clamp(16px,2.1vh,22px);color:#234d40;font-size:clamp(11px,.9vw,14px);text-decoration:underline;text-underline-offset:2px}
.av-login-signature{border-top:1px solid var(--av-line);padding-top:clamp(13px,1.8vh,20px);display:flex;justify-content:center;align-items:center;gap:12px;color:#38604b;letter-spacing:.27em}
.av-login-signature img{width:29px;height:36px;object-fit:contain}
.av-login-signature small{font-size:clamp(7px,.62vw,9px);line-height:1.55;font-weight:700}

/* Alturas de navegador reducidas: mantener todo visible sin scroll. */
@media(max-height:760px) and (min-width:821px){
  .av-login-hero-content{padding-top:23px;padding-bottom:20px}
  .av-login-message{transform:translateY(0)}
  .av-login-message h1{font-size:clamp(38px,3.05vw,50px)}
  .av-login-message>p{margin-top:14px;font-size:16px}
  .av-login-benefits{margin-top:16px;gap:9px}
  .av-login-benefits article>b{width:46px;height:46px}
  .av-login-benefits strong{font-size:15px}.av-login-benefits small{font-size:11.5px}
  .av-login-card{width:min(100%,420px)}
  .av-login-brand img{width:70px;height:76px}.av-login-brand strong{font-size:34px}
  .av-tagline{margin:5px auto 3px}.av-tagline p{font-size:21px}.av-tagline span{margin-top:7px}
  .av-login-product{margin:5px 0 9px}.av-login-product strong{font-size:24px}.av-login-product span{font-size:11px}
  .av-field{margin-top:7px}.av-input{height:46px}
  .av-login-submit{height:48px;margin-top:12px}.av-login-help{margin:9px 0 12px}
  .av-login-signature{padding-top:10px}.av-login-signature img{width:24px;height:30px}
}

@media(max-width:1180px) and (min-width:821px){
  .av-login{grid-template-columns:minmax(0,58fr) minmax(430px,42fr)}
  .av-login-hero-content{padding-left:34px;padding-right:34px}
  .av-login-message h1{font-size:clamp(37px,4vw,49px)}
}

@media(max-width:820px){
  html,body{height:auto;min-height:100%}body{overflow:auto}
  .av-login{display:block;width:100%;height:auto;min-height:100vh;overflow:visible}
  .av-login-hero{height:clamp(290px,44vh,390px);min-height:290px}
  .av-login-hero-image{object-position:right center}
  .av-login-hero-content{padding:24px 26px}
  .av-login-message{margin:auto 0;transform:none}.av-login-message h1{font-size:clamp(32px,8vw,45px)}
  .av-login-message>p{font-size:15px}.av-login-benefits{display:none}.av-login-foot{display:none}
  .av-login-access{height:auto;min-height:0;padding:34px 22px 42px;overflow:visible}
  .av-login-language{top:18px;right:22px}.av-login-card{width:min(100%,460px)}
}

@media(max-width:520px){
  .av-login-hero{height:270px;min-height:270px}.av-login-kicker{font-size:8px;gap:9px;letter-spacing:.26em}
  .av-login-kicker span{width:28px}.av-login-message h1{font-size:32px}.av-login-message>p{display:none}.av-accent-stroke{width:150px}
  .av-login-access{padding-top:32px}.av-login-brand img{width:72px;height:80px}.av-login-brand strong{font-size:34px}.av-tagline p{font-size:21px}
}
