:root {
  --ah-wpjp-ink: #142033;
  --ah-wpjp-muted: #667085;
  --ah-wpjp-border: #d8e2f5;
  --ah-wpjp-surface: #ffffff;
  --ah-wpjp-soft: #f5f7fc;
  --ah-wpjp-primary: #1e6fd9;
  --ah-wpjp-primary-dark: #0a2e6e;
  --ah-wpjp-success: #0f9058;
  --ah-wpjp-danger: #d63031;
}

html,
body {
  overflow-x: hidden;
}

.wjportal-form-roles,
.wjportal-form-captcha,
.wjportal-form-wrp .g-recaptcha:not(input[type="submit"]),
.grecaptcha-badge {
  display: none !important;
}

.wjportal-main-up-wrapper,
.wjportal-main-wrapper,
[class*="wjportal"] {
  box-sizing: border-box;
}

[class*="wjportal"] *,
[class*="wjportal"] *::before,
[class*="wjportal"] *::after {
  box-sizing: border-box;
}

.wjportal-form-wrp,
.wjportal-login-form-wrp {
  max-width: 560px !important;
  margin: 0 auto 28px !important;
  overflow: hidden !important;
  border: 1px solid var(--ah-wpjp-border) !important;
  border-radius: 16px !important;
  background: var(--ah-wpjp-surface) !important;
  box-shadow: 0 18px 45px rgba(20, 32, 51, 0.08) !important;
}

.wjportal-register-form::before,
.wjportal-login-form-wrp::before {
  display: block;
  padding: 17px 26px;
  color: #fff;
  background: linear-gradient(135deg, #061a42, #0a2e6e);
  font-size: 15px;
  font-weight: 700;
}

.wjportal-register-form::before {
  content: "Create Your Account";
}

.wjportal-login-form-wrp::before {
  content: "Login to Your Account";
}

.wjportal-form {
  padding: 26px !important;
}

.wjportal-form-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  width: 100% !important;
  margin: 0 0 17px !important;
}

.wjportal-form-title {
  color: var(--ah-wpjp-ink) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.wjportal-form-value {
  width: 100% !important;
}

.wjportal-form-input-field,
.wjportal-form-select-field,
.wjportal-form-wrp input[type="text"],
.wjportal-form-wrp input[type="email"],
.wjportal-form-wrp input[type="password"],
.wjportal-form-wrp input[type="number"],
.wjportal-form-wrp input[type="tel"],
.wjportal-form-wrp select,
.wjportal-form-wrp textarea {
  width: 100% !important;
  min-height: 44px !important;
  border: 1.5px solid var(--ah-wpjp-border) !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: var(--ah-wpjp-ink) !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  outline: 0 !important;
  padding: 11px 14px !important;
  transition: border-color 0.18s ease, box-shadow 0.18s ease !important;
}

.wjportal-form-input-field:focus,
.wjportal-form-select-field:focus,
.wjportal-form-wrp input:focus,
.wjportal-form-wrp select:focus,
.wjportal-form-wrp textarea:focus {
  border-color: var(--ah-wpjp-primary) !important;
  box-shadow: 0 0 0 3px rgba(30, 111, 217, 0.11) !important;
}

.wjportal-form-help-txt,
.help-block.form-error {
  font-size: 12px !important;
  line-height: 1.45 !important;
}

.help-block.form-error {
  color: var(--ah-wpjp-danger) !important;
}

.wjportal-form-btn-wrp {
  margin-top: 22px !important;
  padding-top: 20px !important;
  border-top: 1px solid var(--ah-wpjp-soft) !important;
}

.wjportal-form-btn,
.wjportal-save-btn,
.wjportal-form-wrp input[type="submit"],
.wjportal-job-act-btn,
.wjportal-job-applied-actions-btn,
.ah-wpjp-applied-link,
.ah-wpjp-dashboard-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  border: 1px solid var(--ah-wpjp-primary) !important;
  border-radius: 9px !important;
  background: var(--ah-wpjp-primary) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  padding: 11px 18px !important;
  text-decoration: none !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
}

.wjportal-form-btn,
.wjportal-save-btn,
.wjportal-form-wrp input[type="submit"] {
  width: 100% !important;
}

.wjportal-form-btn:hover,
.wjportal-save-btn:hover,
.wjportal-form-wrp input[type="submit"]:hover,
.wjportal-job-act-btn:hover,
.wjportal-job-applied-actions-btn:hover,
.ah-wpjp-applied-link:hover,
.ah-wpjp-dashboard-link:hover {
  background: #155ec0 !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(30, 111, 217, 0.25) !important;
  transform: translateY(-1px);
}

.ah-wpjp-dashboard-link {
  margin: 10px 0 0 auto !important;
}

#notification-ok,
[id$="-notification-ok"] {
  border: 1px solid #b7ead2 !important;
  border-left: 4px solid var(--ah-wpjp-success) !important;
  border-radius: 10px !important;
  background: #f0fff8 !important;
  color: #0b6b43 !important;
  padding: 15px 17px !important;
}

#notification-not-ok,
[id$="-notification-not-ok"] {
  border: 1px solid #f5b7b7 !important;
  border-left: 4px solid var(--ah-wpjp-danger) !important;
  border-radius: 10px !important;
  background: #fff1f1 !important;
  color: #9c1f20 !important;
  padding: 15px 17px !important;
}

.ah-wpjp-applied-link {
  margin-top: 12px !important;
}

.ah-wpjp-toast {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 999999;
  max-width: min(380px, calc(100vw - 32px));
  padding: 14px 16px;
  border-radius: 12px;
  color: #fff;
  background: var(--ah-wpjp-success);
  box-shadow: 0 18px 50px rgba(20, 32, 51, 0.22);
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.ah-wpjp-toast.is-error {
  background: var(--ah-wpjp-danger);
}

.ah-wpjp-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.wjportal-jobs-list-wrapper,
.wjportal-applied-jobs-wrp {
  display: grid !important;
  gap: 16px !important;
}

.wjportal-cp-graph-wrp {
  display: none !important;
}

[class*="wjportal"] table {
  width: 100% !important;
  border-collapse: collapse !important;
}

[class*="wjportal"] table th {
  background: var(--ah-wpjp-soft) !important;
  color: var(--ah-wpjp-primary-dark) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

[class*="wjportal"] table th,
[class*="wjportal"] table td {
  padding: 12px 14px !important;
  border-bottom: 1px solid #eef2f8 !important;
}

@media (max-width: 782px) {
  .wjportal-main-wrapper {
    width: 100% !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .wjportal-form-wrp,
  .wjportal-login-form-wrp {
    max-width: 100% !important;
    border-radius: 13px !important;
  }

  .wjportal-form {
    padding: 20px 18px !important;
  }

  .wjportal-page-header,
  .wjportal-header-actions,
  .wjportal-filter-wrp {
    width: 100% !important;
    max-width: 100% !important;
  }

  .ah-wpjp-dashboard-link {
    width: 100% !important;
    margin-left: 0 !important;
  }

  [class*="wjportal"] table,
  [class*="wjportal"] thead,
  [class*="wjportal"] tbody,
  [class*="wjportal"] th,
  [class*="wjportal"] td,
  [class*="wjportal"] tr {
    max-width: 100% !important;
  }

  .ah-wpjp-toast {
    right: 12px;
    bottom: 12px;
    left: 12px;
    max-width: none;
  }
}
