/*
Theme Name: ORDOVEX Suite Client Portal
Theme URI: https://ordovex.com/
Author: ORDOVEX
Description: Clean client portal login theme for ORDOVEX Suite.
Version: 3.0
Text Domain: ordovex-suite
*/

:root{
  --ovx-blue:#1167e8;
  --ovx-blue-dark:#0b3f9b;
  --ovx-orange:#ff8a00;
  --ovx-ink:#0f1b34;
  --ovx-muted:#65728a;
  --ovx-soft:#f4f7fc;
  --ovx-border:#dce5f2;
  --ovx-green:#16a76a;
  --ovx-shadow:0 20px 60px rgba(15,27,52,.11);
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,Arial,sans-serif;background:linear-gradient(135deg,#f7faff 0%,#eef4ff 100%);color:var(--ovx-ink)}
body{overflow-x:hidden}
a{color:var(--ovx-blue);text-decoration:none}

.ovx-login-page{
  min-height:100vh;
  display:grid;
  grid-template-columns: minmax(420px, 42%) 1fr;
  padding:18px;
  gap:18px;
}

.ovx-login-panel,
.ovx-info-panel{
  border:1px solid rgba(220,229,242,.9);
  border-radius:28px;
  box-shadow:var(--ovx-shadow);
  overflow:hidden;
}

.ovx-login-panel{
  background:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:56px clamp(32px,5vw,76px);
  position:relative;
}

.ovx-lang{
  position:absolute;
  top:34px;
  right:34px;
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--ovx-border);
  padding:10px 14px;
  border-radius:999px;
  color:#33425d;
  font-size:14px;
  background:#fff;
}

.ovx-logo{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:42px;
}

.ovx-mark{
  width:58px;
  height:58px;
  border-radius:18px;
  background:linear-gradient(135deg,var(--ovx-blue),#0644c7);
  position:relative;
  box-shadow:0 12px 28px rgba(17,103,232,.25);
}
.ovx-mark:before{
  content:"";
  position:absolute;
  inset:14px;
  border:6px solid #fff;
  border-left-color:transparent;
  border-radius:9px;
  transform:rotate(45deg);
}
.ovx-logo-text strong{
  display:block;
  font-size:40px;
  letter-spacing:.5px;
  line-height:1;
}
.ovx-logo-text span{
  display:block;
  color:var(--ovx-blue);
  letter-spacing:6px;
  font-size:15px;
  font-weight:800;
  margin-top:7px;
  text-align:center;
}

.ovx-login-panel h1{
  font-size:30px;
  line-height:1.15;
  margin:0 0 10px;
}
.ovx-login-panel p{
  margin:0 0 34px;
  color:var(--ovx-muted);
  font-size:17px;
}

.ovx-field{margin-bottom:20px}
.ovx-field label{
  display:block;
  font-weight:800;
  font-size:15px;
  margin-bottom:9px;
}
.ovx-input{
  height:58px;
  width:100%;
  border:1px solid #cfdaea;
  background:#fff;
  border-radius:12px;
  padding:0 16px 0 48px;
  font-size:16px;
  outline:none;
  transition:.18s;
}
.ovx-input:focus{border-color:var(--ovx-blue);box-shadow:0 0 0 4px rgba(17,103,232,.09)}
.ovx-input-wrap{position:relative}
.ovx-ico{
  position:absolute;
  left:17px;
  top:50%;
  transform:translateY(-50%);
  color:#8c9bb3;
  font-size:18px;
}

.ovx-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:2px 0 24px;
  font-size:15px;
}
.ovx-check{display:flex;align-items:center;gap:9px;color:#34415a}
.ovx-check input{width:19px;height:19px}

.ovx-btn{
  width:100%;
  height:60px;
  border:0;
  border-radius:13px;
  background:linear-gradient(135deg,var(--ovx-blue),#0454dc);
  color:#fff;
  font-weight:900;
  font-size:17px;
  cursor:pointer;
  box-shadow:0 13px 30px rgba(17,103,232,.25);
}
.ovx-btn span{float:right;font-size:24px;line-height:16px}

.ovx-login-links{
  text-align:center;
  display:grid;
  gap:8px;
  margin:26px 0 34px;
  font-weight:700;
}

.ovx-divider{
  display:flex;
  align-items:center;
  gap:14px;
  color:#9aa7ba;
  margin-bottom:26px;
}
.ovx-divider:before,.ovx-divider:after{
  content:"";
  height:1px;
  flex:1;
  background:#e4ebf5;
}

.ovx-access{
  width:100%;
  height:54px;
  border-radius:12px;
  border:1px solid #cdd8e8;
  background:#fff;
  color:#1d2b44;
  font-weight:900;
  font-size:15px;
}

.ovx-copy{
  margin-top:auto;
  padding-top:44px;
  color:#7e8da5;
  font-size:14px;
}

.ovx-info-panel{
  background:
    radial-gradient(circle at 82% 12%, rgba(17,103,232,.16), transparent 28%),
    radial-gradient(circle at 10% 86%, rgba(255,138,0,.10), transparent 30%),
    #f8fbff;
  padding:clamp(34px,5vw,76px);
  position:relative;
}

.ovx-info-panel:before{
  content:"";
  position:absolute;
  right:-90px;
  top:-110px;
  width:440px;
  height:440px;
  border-radius:50%;
  background:rgba(17,103,232,.07);
}
.ovx-info-inner{position:relative;z-index:1;max-width:860px;margin:auto}

.ovx-info-panel h2{
  font-size:clamp(36px,4vw,58px);
  line-height:1.04;
  margin:22px 0 20px;
  letter-spacing:-1.5px;
}
.ovx-info-panel h2 span{color:var(--ovx-blue)}
.ovx-lead{
  color:#516079;
  font-size:19px;
  line-height:1.65;
  max-width:680px;
  margin-bottom:34px;
}

.ovx-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin:38px 0;
}
.ovx-feature{
  background:#fff;
  border:1px solid #e2eaf5;
  border-radius:18px;
  padding:24px 20px;
  min-height:158px;
  box-shadow:0 12px 35px rgba(15,27,52,.07);
  transition:.18s;
}
.ovx-feature:hover{transform:translateY(-3px)}
.ovx-feature-icon{
  width:58px;
  height:58px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:27px;
  margin-bottom:15px;
}
.ovx-feature:nth-child(1) .ovx-feature-icon{background:#e9f1ff;color:var(--ovx-blue)}
.ovx-feature:nth-child(2) .ovx-feature-icon{background:#eafaf3;color:var(--ovx-green)}
.ovx-feature:nth-child(3) .ovx-feature-icon{background:#f0eaff;color:#7557e8}
.ovx-feature:nth-child(4) .ovx-feature-icon{background:#fff3e4;color:var(--ovx-orange)}
.ovx-feature:nth-child(5) .ovx-feature-icon{background:#ffeaf1;color:#e84b77}
.ovx-feature:nth-child(6) .ovx-feature-icon{background:#e8f2ff;color:#006be8}
.ovx-feature strong{font-size:17px;display:block;margin-bottom:8px}
.ovx-feature p{font-size:14.5px;line-height:1.45;color:#65728a;margin:0}

.ovx-status{
  background:linear-gradient(135deg,#ffffff,#f6faff);
  border:1px solid #dce8f8;
  border-radius:22px;
  padding:25px;
  display:flex;
  align-items:center;
  gap:22px;
  box-shadow:0 16px 45px rgba(15,27,52,.07);
}
.ovx-status-icon{
  width:66px;
  height:66px;
  border-radius:22px;
  background:#e9f1ff;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--ovx-blue);
  font-size:31px;
  flex:0 0 auto;
}
.ovx-status h3{margin:0 0 7px;font-size:21px}
.ovx-status p{margin:0;color:#5d6b82;line-height:1.55}
.ovx-dots{
  position:absolute;
  right:50px;
  top:40px;
  width:150px;
  height:150px;
  background-image:radial-gradient(rgba(17,103,232,.20) 1.5px, transparent 1.5px);
  background-size:16px 16px;
}

@media (max-width:1050px){
  .ovx-login-page{grid-template-columns:1fr}
  .ovx-login-panel{min-height:auto}
}
@media (max-width:680px){
  .ovx-login-page{padding:8px}
  .ovx-login-panel,.ovx-info-panel{border-radius:20px;padding:30px 22px}
  .ovx-lang{position:static;margin-left:auto;margin-bottom:28px;width:max-content}
  .ovx-logo-text strong{font-size:30px}
  .ovx-feature-grid{grid-template-columns:1fr}
  .ovx-status{align-items:flex-start}
}
