@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Montserrat:wght@700;800;900&display=swap');

.r95-b2b-page {
  --r95-red:#bd1439;
  --r95-blue:#155895;
  --r95-white:#ffffff;
  --r95-text:#172033;
  --r95-muted:#6d7788;
  --r95-line:#e7ecf3;
  --r95-shadow:0 20px 56px rgba(0,0,0,.16);
  margin:0;
  width:100%;
  min-height:100vh;
  font-family:'Inter', Arial, Helvetica, sans-serif;
  color:var(--r95-white);
  background:
    linear-gradient(rgba(8,45,78,.58), rgba(8,45,78,.58)),
    radial-gradient(circle at top left, rgba(255,255,255,.13), transparent 28%),
    linear-gradient(135deg, #113b66 0%, #155895 100%);
}

.r95-b2b-page * {
  box-sizing:border-box;
}

.r95-b2b-main-area {
  min-height:calc(100vh - 92px);
  display:grid;
  place-items:center;
  padding:14px 16px;
}

.r95-b2b-login-shell {
  width:min(920px, 100%);
  display:grid;
  grid-template-columns:1fr 390px;
  border-radius:26px;
  overflow:hidden;
  box-shadow:var(--r95-shadow);
  background:#fff;
}

.r95-b2b-brand-side {
  min-height:465px;
  padding:36px 40px;
  background:var(--r95-red);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  position:relative;
  overflow:hidden;
}

.r95-b2b-brand-side::before {
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  border:34px solid rgba(255,255,255,.06);
  border-radius:50%;
  right:-150px;
  top:-135px;
}

.r95-b2b-brand-side::after {
  content:"";
  position:absolute;
  width:230px;
  height:230px;
  border:28px solid rgba(255,255,255,.05);
  border-radius:50%;
  left:-120px;
  bottom:-115px;
}

.r95-b2b-brand-content,
.r95-b2b-brand-bottom {
  position:relative;
  z-index:1;
}

.r95-b2b-logo {
  width:112px;
  height:112px;
  object-fit:contain;
  background:rgba(255,255,255,.96);
  border-radius:28px;
  padding:5px;
  box-shadow:0 16px 32px rgba(0,0,0,.16);
  margin-bottom:22px;
}

.r95-b2b-brand-side h1 {
  margin:0;
  color:#fff;
  font-family:'Montserrat', 'Inter', Arial, sans-serif;
  font-size:clamp(32px, 4.4vw, 54px);
  line-height:.98;
  letter-spacing:-1.2px;
  font-weight:900;
}

.r95-b2b-brand-side p {
  width:min(500px, 100%);
  margin:16px 0 0;
  color:rgba(255,255,255,.88);
  font-size:15.5px;
  line-height:1.5;
  font-weight:500;
}

.r95-b2b-brand-bottom {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:22px;
}

.r95-b2b-brand-box {
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.20);
}

.r95-b2b-brand-box strong {
  display:block;
  color:#fff;
  font-family:'Montserrat', 'Inter', Arial, sans-serif;
  font-size:15px;
  font-weight:800;
  margin-bottom:5px;
}

.r95-b2b-brand-box span {
  display:block;
  color:rgba(255,255,255,.78);
  font-size:12.5px;
  line-height:1.4;
  font-weight:500;
}

.r95-b2b-login-side {
  min-height:465px;
  padding:30px 32px;
  background:#fff;
  color:var(--r95-text);
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.r95-b2b-login-title {
  margin-bottom:20px;
}

.r95-b2b-small {
  display:inline-flex;
  padding:7px 11px;
  border-radius:999px;
  background:#edf5ff;
  color:var(--r95-blue);
  font-weight:800;
  font-size:11.5px;
  letter-spacing:.35px;
  text-transform:uppercase;
  margin-bottom:12px;
}

.r95-b2b-login-title h2 {
  margin:0;
  color:var(--r95-blue);
  font-family:'Montserrat', 'Inter', Arial, sans-serif;
  font-size:30px;
  line-height:1.08;
  letter-spacing:-.65px;
  font-weight:900;
}

.r95-b2b-login-title p {
  margin:8px 0 0;
  color:var(--r95-muted);
  font-size:13.5px;
  line-height:1.45;
  font-weight:500;
}

.r95-b2b-form label {
  display:block;
  margin:0 0 7px;
  color:#273349;
  font-size:12.5px;
  font-weight:800;
  letter-spacing:.12px;
}

.r95-b2b-form input[type="text"],
.r95-b2b-form input[type="password"] {
  width:100%;
  height:48px;
  border:2px solid var(--r95-line);
  border-radius:15px;
  padding:0 14px;
  background:#fff;
  color:var(--r95-text);
  font-size:14px;
  outline:none;
  margin-bottom:12px;
  font-weight:600;
  transition:.2s ease;
}

.r95-b2b-form input:focus {
  border-color:var(--r95-blue);
  box-shadow:0 0 0 4px rgba(21,88,149,.10);
}

.r95-b2b-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 0 13px;
  font-size:12.5px;
  font-weight:700;
}

.r95-b2b-remember {
  display:flex !important;
  align-items:center;
  gap:7px;
  color:#46546a !important;
  margin:0 !important;
  cursor:pointer;
}

.r95-b2b-remember input {
  width:15px !important;
  height:15px !important;
  margin:0 !important;
  accent-color:var(--r95-red);
}

.r95-b2b-row a {
  color:var(--r95-red);
  text-decoration:none;
  font-weight:800;
}

.r95-b2b-login-btn {
  width:100%;
  height:52px;
  border:0;
  border-radius:16px;
  cursor:pointer;
  color:#fff;
  background:linear-gradient(135deg, var(--r95-red), #e21d49);
  font-family:'Montserrat', 'Inter', Arial, sans-serif;
  font-size:14px;
  font-weight:800;
  letter-spacing:.15px;
  box-shadow:0 14px 26px rgba(188,20,56,.22);
  transition:.2s ease;
  margin-top:0;
  text-decoration:none;
}

.r95-b2b-link-btn {
  display:grid;
  place-items:center;
  margin-top:12px;
}

.r95-b2b-login-btn:hover {
  transform:translateY(-2px);
  box-shadow:0 17px 32px rgba(188,20,56,.29);
}

.r95-b2b-panel-links {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-top:12px;
}

.r95-b2b-panel-links a {
  min-height:42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  border:2px solid #e7ecf3;
  background:#f8fbff;
  color:var(--r95-blue);
  text-decoration:none;
  font-weight:800;
  font-size:12.8px;
  transition:.2s ease;
}

.r95-b2b-panel-links a:hover {
  background:#fff;
  border-color:rgba(21,88,149,.35);
  transform:translateY(-2px);
}

.r95-b2b-secure-note {
  margin-top:12px;
  padding:11px 13px;
  border-radius:15px;
  background:linear-gradient(135deg, rgba(21,88,149,.08), rgba(188,20,56,.07));
  color:#4b596d;
  font-size:12px;
  line-height:1.45;
  font-weight:500;
}

.r95-b2b-logged-box {
  padding:16px;
  border-radius:18px;
  background:#f8fbff;
  border:2px solid var(--r95-line);
}

.r95-b2b-logged-box strong {
  display:block;
  color:var(--r95-blue);
  font-family:'Montserrat', 'Inter', Arial, sans-serif;
  font-size:18px;
  margin-bottom:5px;
}

.r95-b2b-logged-box span {
  display:block;
  color:var(--r95-muted);
  font-size:13px;
  font-weight:600;
}

.r95-b2b-logout {
  display:block;
  text-align:center;
  margin-top:10px;
  color:var(--r95-red);
  text-decoration:none;
  font-weight:800;
  font-size:13px;
}

.r95-b2b-footer {
  display:block;
  width:100%;
  background:var(--r95-blue);
  padding:16px 14px 18px;
  color:#dfefff;
  text-align:center;
  font-weight:700;
}

.r95-b2b-footer-links {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  flex-wrap:wrap;
  margin-bottom:8px;
  font-size:13px;
  font-weight:600;
}

.r95-b2b-footer-links a {
  color:#eaf4ff;
  text-decoration:none;
}

.r95-b2b-copy {
  color:#e8f3ff;
  font-size:13px;
  font-weight:600;
}

.r95-b2b-agency {
  margin-top:5px;
  color:#cbdff5;
  font-size:12px;
  font-weight:500;
}

@media (max-width:900px) {
  .r95-b2b-main-area {
    min-height:auto;
    padding:16px 12px;
  }

  .r95-b2b-login-shell {
    grid-template-columns:1fr;
  }

  .r95-b2b-brand-side {
    min-height:auto;
    padding:28px;
  }

  .r95-b2b-login-side {
    min-height:auto;
    padding:28px;
  }

  .r95-b2b-brand-bottom {
    grid-template-columns:1fr;
  }
}

@media (max-width:520px) {
  .r95-b2b-brand-side,
  .r95-b2b-login-side {
    padding:22px 18px;
  }

  .r95-b2b-logo {
    width:96px;
    height:96px;
  }

  .r95-b2b-panel-links {
    grid-template-columns:1fr;
  }

  .r95-b2b-row {
    align-items:flex-start;
    flex-direction:column;
  }
}
