:root{
  --ink:#0a2f35;
  --deep:#052d32;
  --deep-2:#073b42;
  --deep-3:#0a4650;
  --accent:#1594a0;
  --accent-soft:#7edce1;
  --paper:#f5f8f9;
  --surface:#ffffff;
  --line:#dce7e9;
  --muted:#60777c;
  --danger:#a63333;
  --shadow:0 24px 70px rgba(5,45,50,.14);
  --ease:cubic-bezier(.22,1,.36,1);
}

html,body{min-height:100%;}
html{background:var(--paper);}
body{
  margin:0;
  min-width:320px;
  min-height:100dvh;
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  color:var(--ink);
  background:
    radial-gradient(circle at 88% 8%,rgba(21,148,160,.08),transparent 28%),
    linear-gradient(180deg,#f8fbfb 0%,#eef4f5 100%);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
}
button,input{font:inherit;color:inherit;}
button{cursor:pointer;}

.login,.login *{box-sizing:border-box;}
.login{
  position:relative;
  min-height:100dvh;
  padding:18px;
}
.login-back{
  position:fixed;
  z-index:20;
  top:34px;
  left:38px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  color:#d9e9eb;
  background:rgba(5,45,50,.28);
  backdrop-filter:blur(10px);
  font-size:12px;
  font-weight:700;
  letter-spacing:.01em;
  transition:transform .22s var(--ease),background .22s ease,border-color .22s ease;
}
.login-back:hover,.login-back:focus-visible{
  transform:translateY(-2px);
  color:#fff;
  background:rgba(5,45,50,.55);
  border-color:rgba(126,220,225,.48);
}

.frame-3030{
  width:100%;
  min-height:calc(100dvh - 36px);
  position:relative;
}
.frame-342{
  width:100%;
  min-height:calc(100dvh - 36px);
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(420px,.94fr);
  gap:0;
  align-items:stretch;
  background:var(--surface);
  border:1px solid rgba(7,59,66,.09);
  border-radius:32px;
  overflow:hidden;
  box-shadow:var(--shadow);
}

.frame-483{
  position:relative;
  isolation:isolate;
  min-width:0;
  min-height:calc(100dvh - 36px);
  padding:104px clamp(44px,6vw,94px) 70px;
  display:flex;
  align-items:center;
  overflow:hidden;
  color:#fff;
  background:linear-gradient(145deg,var(--deep-2) 0%,var(--deep) 58%,#06363d 100%) !important;
}
.frame-483:before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(135deg,rgba(0,0,0,.75),transparent 76%);
}
.frame-483:after{
  content:"";
  position:absolute;
  z-index:-1;
  width:540px;
  height:540px;
  right:-230px;
  top:-240px;
  border-radius:50%;
  border:1px solid rgba(126,220,225,.15);
  box-shadow:0 0 0 64px rgba(126,220,225,.025),0 0 0 128px rgba(126,220,225,.014);
  animation:orbFloat 12s ease-in-out infinite alternate;
}
.frame-484{
  width:min(100%,600px);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0;
}
.undraw-software-engineer-xv-60-2{display:none;}

.view-sq-lapp{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:48px;
  animation:authReveal .7s var(--ease) both;
}
.app-4-1{
  position:relative;
  flex:0 0 52px;
  width:52px;
  height:45px;
}
.group{position:absolute;inset:0 auto auto 0;width:86%;height:auto;}
.group2{position:absolute;right:0;bottom:0;width:40%;height:auto;}
.group3{display:none;}
.view-sq-lapp2{
  color:#fff;
  white-space:nowrap;
  font-family:Montserrat,Inter,sans-serif;
  line-height:1;
}
.view-sq-lapp-2-span{font-size:29px;font-weight:600;letter-spacing:-.045em;}
.view-sq-lapp-2-span3{font-size:31px;font-weight:700;letter-spacing:-.055em;}
.view-sq-lapp-2-span5{font-size:23px;font-weight:400;letter-spacing:-.06em;color:#b8ced1;}

.frame-4832{
  width:min(100%,580px);
  animation:authReveal .75s .08s var(--ease) both;
}
.bienvenido-a-view-data-app-aqu-podr-s-explorar-y-filtrar-grandes-vol-menes-de-datos-de-manera-simple-sin-necesidad-de-conocimientos-t-cnicos-nuestra-plataforma-est-dise-ada-para-que-trabajes-con-la-informaci-n-de-forma-clara-r-pida-y-eficiente-ayud-ndote-a-encontrar-exactamente-lo-que-necesitas{
  color:#fff;
  font-size:16px;
  line-height:1.72;
}
.bienvenido-a-view-data-app-aqu-podr-s-explorar-y-filtrar-grandes-vol-menes-de-datos-de-manera-simple-sin-necesidad-de-conocimientos-t-cnicos-nuestra-plataforma-est-dise-ada-para-que-trabajes-con-la-informaci-n-de-forma-clara-r-pida-y-eficiente-ayud-ndote-a-encontrar-exactamente-lo-que-necesitas-span{
  display:block;
  max-width:560px;
  margin-bottom:18px;
  font-family:Montserrat,Inter,sans-serif;
  font-size:clamp(34px,4vw,54px);
  line-height:1.04;
  font-weight:700;
  letter-spacing:-.04em;
}
.bienvenido-a-view-data-app-aqu-podr-s-explorar-y-filtrar-grandes-vol-menes-de-datos-de-manera-simple-sin-necesidad-de-conocimientos-t-cnicos-nuestra-plataforma-est-dise-ada-para-que-trabajes-con-la-informaci-n-de-forma-clara-r-pida-y-eficiente-ayud-ndote-a-encontrar-exactamente-lo-que-necesitas-span2{
  display:block;
  max-width:530px;
  color:#c8dadd;
  font-size:16px;
  line-height:1.7;
}
.bienvenido-a-view-data-app-aqu-podr-s-explorar-y-filtrar-grandes-vol-menes-de-datos-de-manera-simple-sin-necesidad-de-conocimientos-t-cnicos-nuestra-plataforma-est-dise-ada-para-que-trabajes-con-la-informaci-n-de-forma-clara-r-pida-y-eficiente-ayud-ndote-a-encontrar-exactamente-lo-que-necesitas-span3{display:none;}

.frame-425{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:72px clamp(36px,5vw,76px);
  background:rgba(255,255,255,.96);
}
.frame-477,.login2,form,.frame-481{width:100%;}
.frame-477{max-width:430px;}
.login2{display:block;}
.frame-481{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:19px;
  animation:authFormReveal .75s .12s var(--ease) both;
}
.frame-471{margin-bottom:8px;}
.inicia-sesi-n{
  color:var(--ink);
  font-family:Montserrat,Inter,sans-serif;
  font-size:clamp(27px,2.5vw,34px);
  line-height:1.12;
  font-weight:700;
  letter-spacing:-.035em;
}
.frame-471:after{
  content:"Accede a tu espacio de trabajo";
  display:block;
  margin-top:9px;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}

.input,.input2{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:7px;
}
.nombre-del-campo,.input-label{
  color:#354f54;
  font-size:12px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:.025em;
}
.frame-1,.frame-12{
  width:100%;
  min-height:54px;
  display:flex;
  align-items:center;
  padding:0 15px;
  border:1px solid #cfdddf;
  border-radius:13px;
  background:#fbfdfd;
  box-shadow:0 1px 0 rgba(5,45,50,.02);
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s var(--ease);
}
.frame-1:focus-within,.frame-12:focus-within{
  border-color:#4eabb3;
  background:#fff;
  box-shadow:0 0 0 4px rgba(21,148,160,.11),0 8px 22px rgba(5,45,50,.06);
  transform:translateY(-1px);
}
.ejemplo{width:100%;}
.frame-1 input,.frame-12 input{
  width:100% !important;
  min-width:0;
  padding:0 !important;
  border:0 !important;
  outline:none !important;
  background:transparent !important;
  color:var(--ink);
  font-size:15px !important;
  line-height:1.4;
}
.frame-1 input::placeholder,.frame-12 input::placeholder{color:#91a3a7;}

.frame-474{display:flex;justify-content:flex-end;margin-top:-7px;}
.frame-472{display:block;}
.olvidaste-tu-contrase-a,.continuar-sin-login{
  color:#466267;
  font-size:12px;
  line-height:1.45;
  font-weight:600;
  transition:color .2s ease,transform .2s var(--ease);
}
.olvidaste-tu-contrase-a:hover,.continuar-sin-login:hover{color:#087985;}
.olvidaste-tu-contrase-a:focus-visible,.continuar-sin-login:focus-visible{outline:3px solid rgba(126,220,225,.48);outline-offset:3px;border-radius:6px;}

.button{
  width:100%;
  min-height:54px;
  margin-top:2px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #0b606a;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(135deg,#0b7f8b 0%,#086772 100%);
  box-shadow:0 12px 28px rgba(8,103,114,.18);
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transition:transform .22s var(--ease),box-shadow .22s ease,filter .22s ease;
}
.button:before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-3px;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.26),transparent);
  transform:translateX(-120%) skewX(-18deg);
  transition:transform .65s var(--ease);
}
.button:hover{transform:translateY(-2px);box-shadow:0 17px 34px rgba(8,103,114,.24);filter:saturate(1.04);}
.button:hover:before{transform:translateX(120%) skewX(-18deg);}
.button:active{transform:translateY(0) scale(.992);}
.button:focus-visible{outline:3px solid rgba(126,220,225,.65);outline-offset:3px;}
.button:disabled{cursor:wait;}
.button-secondary{
  text-decoration:none;
  color:#0b606a;
  background:#fff;
  border-color:#9fc9cd;
  box-shadow:none;
  margin-top:8px;
}
.button-secondary:before{display:none;}
.button-secondary:hover{color:#075761;background:#eef8f8;border-color:#6fb5bc;box-shadow:0 8px 20px rgba(8,103,114,.10);filter:none;}
.button-secondary:visited{color:#0b606a;}

.ingresar{font-size:14px;font-weight:700;letter-spacing:.01em;}

.login-progress{
  width:100%;
  margin-top:-5px;
  display:flex;
  flex-direction:column;
  gap:7px;
}
.login-progress[hidden]{display:none !important;}
.login-progress-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#587075;
  font-size:11px;
  line-height:1.35;
  font-weight:600;
}
#login-progress-value{
  flex:0 0 auto;
  color:#087985;
  font-variant-numeric:tabular-nums;
}
.login-progress-track{
  width:100%;
  height:6px;
  overflow:hidden;
  border-radius:999px;
  background:#e7eff0;
  box-shadow:inset 0 1px 2px rgba(5,45,50,.06);
}
.login-progress-bar{
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#1594a0 0%,#58c4cb 100%);
  transition:width .28s var(--ease);
}

.frame-470{
  display:flex;
  justify-content:center;
  padding-top:2px;
}
.continuar-sin-login{
  max-width:100%;
  text-align:center;
  color:#6a8085;
  font-weight:500;
  text-decoration:none;
  cursor:pointer;
}

.auth-workbench .frame-471:after{content:"Continúa en Workbench";}
.auth-plots .frame-471:after{content:"Continúa en Plots";}
.auth-dashboard .frame-471:after{content:"Continúa en Dashboard";}

@keyframes authReveal{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:none}
}
@keyframes authFormReveal{
  from{opacity:0;transform:translateY(16px) scale(.992)}
  to{opacity:1;transform:none}
}
@keyframes orbFloat{
  from{transform:translate3d(0,0,0) scale(1)}
  to{transform:translate3d(-22px,20px,0) scale(1.045)}
}

@media(max-width:980px){
  .login{padding:0;}
  .login-back{
    position:absolute;
    top:20px;
    left:20px;
  }
  .frame-3030,.frame-342{min-height:100dvh;}
  .frame-342{
    grid-template-columns:1fr;
    border:0;
    border-radius:0;
    box-shadow:none;
    overflow:visible;
    background:#f5f8f9;
  }
  .frame-483{
    min-height:400px;
    padding:88px 40px 64px;
    border-radius:0 0 34px 34px;
  }
  .frame-484{width:min(100%,720px);margin:0 auto;}
  .view-sq-lapp{margin-bottom:34px;}
  .bienvenido-a-view-data-app-aqu-podr-s-explorar-y-filtrar-grandes-vol-menes-de-datos-de-manera-simple-sin-necesidad-de-conocimientos-t-cnicos-nuestra-plataforma-est-dise-ada-para-que-trabajes-con-la-informaci-n-de-forma-clara-r-pida-y-eficiente-ayud-ndote-a-encontrar-exactamente-lo-que-necesitas-span{
    font-size:clamp(33px,6.4vw,49px);
  }
  .frame-425{
    min-height:0;
    padding:54px 28px 72px;
    background:transparent;
  }
  .frame-477{
    max-width:560px;
    padding:34px;
    border:1px solid var(--line);
    border-radius:24px;
    background:#fff;
    box-shadow:0 18px 52px rgba(5,45,50,.09);
  }
}

@media(max-width:620px){
  html,body{height:auto;min-height:100%;overflow-y:auto!important;overscroll-behavior-y:auto;}
  .login{height:auto;min-height:100svh;padding:0;overflow:visible;}
  .frame-3030,.frame-342{height:auto;min-height:100svh;overflow:visible;}
  .frame-342{display:flex;flex-direction:column;}
  /* En teléfono se conserva el orden visual original: primero el panel de
     identidad/contexto de viewSQL y después el formulario. El documento es
     scrollable, por lo que el teclado no obliga a invertir la composición. */
  .frame-483{order:1;min-height:260px;}
  .frame-425{order:2;min-height:auto;}
  .login-back{top:14px;left:14px;min-height:36px;font-size:11px;}
  .frame-483{
    min-height:340px;
    padding:75px 22px 44px;
    border-radius:0 0 26px 26px;
  }
  .frame-483:after{width:370px;height:370px;right:-210px;top:-190px;}
  .view-sq-lapp{margin-bottom:27px;}
  .app-4-1{width:45px;height:39px;flex-basis:45px;}
  .view-sq-lapp-2-span{font-size:25px;}
  .view-sq-lapp-2-span3{font-size:27px;}
  .view-sq-lapp-2-span5{font-size:20px;}
  .bienvenido-a-view-data-app-aqu-podr-s-explorar-y-filtrar-grandes-vol-menes-de-datos-de-manera-simple-sin-necesidad-de-conocimientos-t-cnicos-nuestra-plataforma-est-dise-ada-para-que-trabajes-con-la-informaci-n-de-forma-clara-r-pida-y-eficiente-ayud-ndote-a-encontrar-exactamente-lo-que-necesitas-span{
    margin-bottom:12px;
    font-size:clamp(30px,9vw,39px);
  }
  .bienvenido-a-view-data-app-aqu-podr-s-explorar-y-filtrar-grandes-vol-menes-de-datos-de-manera-simple-sin-necesidad-de-conocimientos-t-cnicos-nuestra-plataforma-est-dise-ada-para-que-trabajes-con-la-informaci-n-de-forma-clara-r-pida-y-eficiente-ayud-ndote-a-encontrar-exactamente-lo-que-necesitas-span2{
    font-size:14px;
    line-height:1.58;
  }
  .frame-425{padding:28px 16px 48px;}
  .frame-477{padding:25px 20px;border-radius:21px;}
  .frame-481{gap:17px;}
  .inicia-sesi-n{font-size:26px;}
  .frame-1,.frame-12,.button{min-height:52px;}
}

@media(max-width:380px){
  .frame-483{padding-left:18px;padding-right:18px;}
  .frame-425{padding-left:12px;padding-right:12px;}
  .frame-477{padding-left:17px;padding-right:17px;}
  .bienvenido-a-view-data-app-aqu-podr-s-explorar-y-filtrar-grandes-vol-menes-de-datos-de-manera-simple-sin-necesidad-de-conocimientos-t-cnicos-nuestra-plataforma-est-dise-ada-para-que-trabajes-con-la-informaci-n-de-forma-clara-r-pida-y-eficiente-ayud-ndote-a-encontrar-exactamente-lo-que-necesitas-span{font-size:29px;}
}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important;}
}

/* Recuperación de acceso — modal compartido por viewSQL, Workbench, Plots y Dashboard. */
.frame-474{justify-content:flex-end;}
.recovery-modal-open{overflow:hidden;}
.password-recovery-modal{
  position:fixed;
  inset:0;
  z-index:1000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
}
.password-recovery-modal[hidden]{display:none!important;}
.password-recovery-modal.is-open{opacity:1;pointer-events:auto;}
.password-recovery-backdrop{
  position:absolute;
  inset:0;
  background:rgba(3,31,35,.62);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.password-recovery-dialog{
  position:relative;
  z-index:1;
  width:min(100%,470px);
  border:1px solid rgba(255,255,255,.65);
  border-radius:24px;
  padding:30px;
  color:var(--ink);
  background:#fff;
  box-shadow:0 32px 90px rgba(3,31,35,.32);
  transform:translateY(14px) scale(.985);
  transition:transform .24s var(--ease);
}
.password-recovery-modal.is-open .password-recovery-dialog{transform:none;}
.password-recovery-close{
  position:absolute;
  top:16px;
  right:16px;
  width:36px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d7e3e5;
  border-radius:50%;
  color:#4d676c;
  background:#f8fbfb;
  font-size:24px;
  line-height:1;
  cursor:pointer;
  transition:transform .18s var(--ease),background .18s ease,border-color .18s ease;
}
.password-recovery-close:hover{transform:rotate(4deg);background:#f1f7f7;border-color:#bdd5d8;}
.password-recovery-close:focus-visible{outline:3px solid rgba(126,220,225,.58);outline-offset:3px;}
.password-recovery-kicker{
  display:inline-block;
  margin-bottom:11px;
  color:#087985;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.password-recovery-dialog h2{
  max-width:360px;
  margin:0 44px 10px 0;
  font-family:Montserrat,Inter,sans-serif;
  font-size:28px;
  line-height:1.08;
  letter-spacing:-.035em;
}
.password-recovery-dialog>p{
  margin:0;
  color:var(--muted);
  font-size:13.5px;
  line-height:1.6;
}
.password-recovery-field{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-top:22px;
  color:#354f54;
  font-size:12px;
  font-weight:700;
}
.password-recovery-email{
  width:100%;
  min-height:52px;
  padding:0 14px;
  border:1px solid #cfdddf;
  border-radius:12px;
  background:#fbfdfd;
  color:var(--ink);
  outline:none;
  font-size:15px;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.password-recovery-email:focus{
  border-color:#4eabb3;
  background:#fff;
  box-shadow:0 0 0 4px rgba(21,148,160,.11);
}
.password-recovery-status{
  min-height:0;
  margin-top:12px;
  padding:10px 12px;
  border-radius:10px;
  color:#466267;
  background:#f4f8f9;
  font-size:12px;
  line-height:1.5;
}
.password-recovery-status:empty{display:none;}
.password-recovery-status.is-ok{color:#176d58;background:#eff9f5;}
.password-recovery-status.is-error{color:var(--danger);background:#fff4f4;}
.password-recovery-actions{
  display:flex;
  justify-content:flex-end;
  gap:9px;
  margin-top:20px;
}
.password-recovery-send,.password-recovery-back{
  min-height:44px;
  border-radius:11px;
  padding:0 16px;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  transition:transform .2s var(--ease),box-shadow .2s ease,border-color .2s ease;
}
.password-recovery-send{
  border:1px solid #0b606a;
  color:#fff;
  background:linear-gradient(135deg,#0b7f8b 0%,#086772 100%);
  box-shadow:0 9px 22px rgba(8,103,114,.15);
}
.password-recovery-back{border:1px solid #cfdddf;color:#466267;background:#fff;}
.password-recovery-send:hover,.password-recovery-back:hover{transform:translateY(-1px);}
.password-recovery-send:focus-visible,.password-recovery-back:focus-visible{outline:3px solid rgba(126,220,225,.52);outline-offset:3px;}
.password-recovery-send:disabled{opacity:.65;cursor:wait;transform:none;}

@media(max-width:560px){
  .password-recovery-modal{padding:14px;}
  .password-recovery-dialog{width:100%;max-height:calc(100dvh - 28px);overflow:auto;border-radius:22px;padding:26px 20px 20px;}
  .password-recovery-dialog h2{font-size:25px;}
  .password-recovery-actions{flex-direction:column-reverse;}
  .password-recovery-send,.password-recovery-back{width:100%;}
}

/* Página de creación de contraseña, visualmente alineada con la landing/login. */
.reset-body{margin:0;min-width:320px;min-height:100dvh;background:#052d32;}
.reset-page{position:relative;min-height:100dvh;padding:28px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 84% 8%,rgba(126,220,225,.14),transparent 28%),linear-gradient(145deg,#073b42 0%,#052d32 58%,#06363d 100%);overflow:hidden;}
.reset-page:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(135deg,rgba(0,0,0,.7),transparent 76%);pointer-events:none;}
.reset-back{position:absolute;z-index:2;top:24px;left:28px;color:#d9e9eb;font-size:12px;font-weight:700;}
.reset-back:hover{color:#fff;}
.reset-shell{position:relative;z-index:1;width:min(100%,940px);display:grid;grid-template-columns:minmax(0,.82fr) minmax(380px,1fr);align-items:stretch;border:1px solid rgba(255,255,255,.13);border-radius:30px;background:rgba(255,255,255,.04);box-shadow:0 32px 90px rgba(0,0,0,.22);overflow:hidden;backdrop-filter:blur(10px);}
.reset-brand{padding:58px 50px;display:flex;flex-direction:column;justify-content:flex-end;min-height:500px;color:#fff;}
.reset-brand img{width:176px;height:auto;margin-bottom:24px;}
.reset-brand p{max-width:300px;margin:0;color:#c8dadd;font-size:14px;line-height:1.6;}
.reset-card{padding:54px 48px;background:#fff;color:var(--ink);}
.reset-kicker{display:inline-block;margin-bottom:13px;color:#087985;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;}
.reset-card h1{margin:0 0 12px;font-family:Montserrat,Inter,sans-serif;font-size:clamp(29px,3.2vw,40px);line-height:1.08;letter-spacing:-.04em;}
.reset-card>p{margin:0;color:var(--muted);font-size:14px;line-height:1.55;}
.reset-email{margin:0 0 18px!important;color:#38565b!important;font-weight:600;word-break:break-word;}
.reset-message{margin:18px 0;padding:12px 14px;border-radius:11px;font-size:12.5px;line-height:1.5;}
.reset-error{border:1px solid #efcccc;background:#fff5f5;color:#8b3030;}
.reset-form{display:flex;flex-direction:column;gap:15px;margin-top:22px;}
.reset-form label{display:flex;flex-direction:column;gap:7px;color:#354f54;font-size:12px;font-weight:700;}
.reset-form input{width:100%;min-height:52px;padding:0 14px;border:1px solid #cfdddf;border-radius:12px;background:#fbfdfd;outline:none;font-size:15px;transition:border-color .2s ease,box-shadow .2s ease;}
.reset-form input:focus{border-color:#4eabb3;background:#fff;box-shadow:0 0 0 4px rgba(21,148,160,.11);}
.reset-hint{margin:-5px 0 0!important;color:#789096!important;font-size:11.5px!important;}
.reset-primary{display:inline-flex;align-items:center;justify-content:center;min-height:50px;margin-top:21px;padding:0 18px;border:1px solid #0b606a;border-radius:13px;color:#fff!important;background:linear-gradient(135deg,#0b7f8b 0%,#086772 100%);box-shadow:0 12px 28px rgba(8,103,114,.18);font-size:13px;font-weight:700;text-decoration:none;cursor:pointer;}
.reset-form .reset-primary{width:100%;margin-top:2px;}
.reset-support{margin-top:24px!important;padding-top:18px;border-top:1px solid #e4ecee;color:#6a8085!important;font-size:11.5px!important;}
.reset-support a{color:#087985;font-weight:700;}

@media(max-width:760px){
  .reset-page{padding:68px 16px 20px;align-items:flex-start;}
  .reset-back{top:22px;left:18px;}
  .reset-shell{grid-template-columns:1fr;border-radius:23px;}
  .reset-brand{min-height:180px;padding:32px 26px 27px;justify-content:flex-end;}
  .reset-brand img{width:145px;margin-bottom:14px;}
  .reset-card{padding:31px 24px 34px;}
}
