/* OneHiring AI v14.1 Login Branding */
:root{
  --oh-blue:#1769e8;
  --oh-blue-dark:#062b80;
  --oh-cyan:#05c3e7;
  --oh-navy:#07183e;
  --oh-text:#172033;
  --oh-muted:#6b7890;
  --oh-line:#dce5f0;
  --oh-bg:#f4f8fc;
  --oh-white:#ffffff;
}

*{
  box-sizing:border-box;
}

html,
body{
  min-height:100%;
}

body.oh-login-page{
  margin:0;
  color:var(--oh-text);
  background:var(--oh-bg);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}

.oh-login-shell{
  min-height:100vh;
  min-height:100dvh;
  display:grid;
  grid-template-columns:minmax(420px,1.08fr) minmax(430px,.92fr);
}

.oh-login-brand{
  position:relative;
  display:flex;
  align-items:center;
  overflow:hidden;
  padding:clamp(42px,6vw,86px);
  color:#fff;
  background:
    radial-gradient(circle at 85% 16%,rgba(36,214,242,.28),transparent 20rem),
    radial-gradient(circle at 8% 90%,rgba(0,113,255,.35),transparent 24rem),
    linear-gradient(145deg,#031642 0%,#063f9c 54%,#04a8d5 100%);
}

.oh-login-brand::before{
  content:"";
  position:absolute;
  width:430px;
  height:430px;
  right:-210px;
  top:-150px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:50%;
}

.oh-login-brand::after{
  content:"";
  position:absolute;
  width:560px;
  height:560px;
  left:-330px;
  bottom:-330px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
}

.oh-brand-content{
  position:relative;
  z-index:1;
  width:min(640px,100%);
}

.oh-login-logo{
  display:block;
  width:min(360px,74%);
  height:auto;
  margin:0 0 38px;
  padding:12px 16px;
  background:#fff;
  border-radius:18px;
  box-shadow:0 18px 45px rgba(0,0,0,.16);
}

.oh-brand-kicker,
.oh-login-kicker{
  font-size:11px;
  font-weight:850;
  letter-spacing:.16em;
}

.oh-brand-kicker{
  color:#82ecff;
}

.oh-brand-copy h1{
  max-width:620px;
  margin:10px 0 17px;
  font-size:clamp(38px,5.2vw,68px);
  line-height:1;
  letter-spacing:-.045em;
}

.oh-brand-copy p{
  max-width:560px;
  margin:0;
  color:#d9eeff;
  font-size:clamp(15px,1.7vw,19px);
  line-height:1.65;
}

.oh-brand-points{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:44px;
}

.oh-brand-points>div{
  padding:17px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  backdrop-filter:blur(10px);
}

.oh-brand-points span{
  display:block;
  color:#84ecff;
  font-size:11px;
  font-weight:850;
}

.oh-brand-points strong{
  display:block;
  margin:8px 0 6px;
  font-size:13px;
}

.oh-brand-points small{
  display:block;
  color:#d6e9ff;
  font-size:11px;
  line-height:1.5;
}

.oh-login-panel{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:clamp(28px,5vw,70px);
  background:
    radial-gradient(circle at 85% 10%,rgba(6,182,212,.09),transparent 18rem),
    linear-gradient(180deg,#ffffff,#f7faff);
}

.oh-login-card{
  width:min(470px,100%);
  padding:clamp(28px,4vw,42px);
  background:#fff;
  border:1px solid var(--oh-line);
  border-radius:24px;
  box-shadow:0 24px 70px rgba(13,38,76,.12);
}

.oh-mobile-brand{
  display:none;
  margin-bottom:24px;
  text-align:center;
}

.oh-mobile-brand img{
  width:min(290px,86%);
  height:auto;
}

.oh-login-kicker{
  color:var(--oh-blue);
}

.oh-login-heading h2{
  margin:7px 0 8px;
  color:var(--oh-navy);
  font-size:clamp(30px,4vw,39px);
  letter-spacing:-.04em;
}

.oh-login-heading p{
  margin:0 0 27px;
  color:var(--oh-muted);
  line-height:1.55;
}

.oh-login-alert{
  margin-bottom:18px;
  padding:12px 14px;
  color:#a11616;
  background:#fff1f1;
  border:1px solid #fecaca;
  border-radius:12px;
  font-size:13px;
  font-weight:700;
}

.oh-login-form{
  display:grid;
  gap:17px;
}

.oh-field{
  display:grid;
  gap:7px;
}

.oh-field label{
  color:#34435b;
  font-size:13px;
  font-weight:750;
}

.oh-input-wrap{
  position:relative;
}

.oh-input-wrap>svg{
  position:absolute;
  left:14px;
  top:50%;
  width:20px;
  height:20px;
  transform:translateY(-50%);
  fill:none;
  stroke:#8b9ab0;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}

.oh-input-wrap input{
  width:100%;
  min-height:52px;
  padding:13px 48px 13px 44px;
  color:var(--oh-text);
  background:#fbfdff;
  border:1px solid #cbd7e5;
  border-radius:13px;
  font:inherit;
  outline:none;
  transition:.17s ease;
}

.oh-input-wrap input:focus{
  background:#fff;
  border-color:var(--oh-blue);
  box-shadow:0 0 0 4px rgba(23,105,232,.10);
}

.oh-password-toggle{
  position:absolute;
  right:10px;
  top:50%;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  padding:0;
  transform:translateY(-50%);
  color:#73839a;
  background:transparent;
  border:0;
  border-radius:9px;
  cursor:pointer;
}

.oh-password-toggle:hover{
  background:#edf4fc;
}

.oh-password-toggle svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.oh-signin-button{
  min-height:53px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin-top:4px;
  color:#fff;
  background:linear-gradient(135deg,var(--oh-blue),var(--oh-blue-dark));
  border:0;
  border-radius:13px;
  font:inherit;
  font-weight:850;
  cursor:pointer;
  box-shadow:0 13px 26px rgba(23,105,232,.22);
  transition:.16s ease;
}

.oh-signin-button:hover{
  transform:translateY(-1px);
  box-shadow:0 17px 32px rgba(23,105,232,.27);
}

.oh-signin-button svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.oh-login-security{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:22px;
  color:#8190a5;
  font-size:11px;
  text-align:center;
}

.oh-login-security svg{
  width:18px;
  height:18px;
  flex:none;
  fill:none;
  stroke:#139a83;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.oh-login-footer{
  margin-top:20px;
  color:#93a0b2;
  font-size:11px;
  text-align:center;
}

@media(max-width:1050px){
  .oh-login-shell{
    grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);
  }

  .oh-brand-points{
    grid-template-columns:1fr;
  }

  .oh-brand-points>div{
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
  }

  .oh-brand-points strong{
    margin:0 0 4px;
  }

  .oh-brand-points small{
    grid-column:2;
  }
}

@media(max-width:820px){
  .oh-login-shell{
    display:block;
  }

  .oh-login-brand{
    display:none;
  }

  .oh-login-panel{
    min-height:100vh;
    min-height:100dvh;
    justify-content:flex-start;
    padding:24px 16px;
  }

  .oh-login-card{
    margin:auto 0;
  }

  .oh-mobile-brand{
    display:block;
  }
}

@media(max-width:480px){
  .oh-login-panel{
    padding:12px;
  }

  .oh-login-card{
    padding:24px 17px;
    border-radius:19px;
  }

  .oh-mobile-brand img{
    width:min(270px,92%);
  }

  .oh-login-heading h2{
    font-size:31px;
  }
}
