:root {
  --portal-navy: #0d2443;
  --portal-blue: #1769aa;
  --portal-blue-dark: #12558b;
  --portal-green: #23a77a;
  --portal-ink: #18283c;
  --portal-muted: #64748b;
  --portal-border: #dfe7f0;
  --portal-bg: #f5f8fc;
  --portal-card-shadow: 0 14px 40px rgba(13,36,67,.07);
}
#careersPortal, .portal-admin-body { color: var(--portal-ink); }
.portal-navbar { position: relative; z-index: 5; background: #fff; box-shadow: 0 2px 18px rgba(12,32,60,.07); }
.portal-navbar .navbar-brand { display:flex; align-items:center; gap:10px; }
.portal-navbar .site-logo { max-height: 48px; width:auto; object-fit:contain; }
.portal-brand-fallback { font-weight:800; color:var(--portal-navy); }
.portal-hero { position:relative; overflow:hidden; background:linear-gradient(118deg,#0b2342 0%,#123b66 55%,#126d83 100%); color:white; padding:86px 0 74px; }
.portal-hero-inner { position:relative; z-index:1; max-width:1140px; }
.portal-eyebrow { display:flex; align-items:center; gap:9px; font-size:.75rem; letter-spacing:.16em; font-weight:800; color:#c7e8ff; margin-bottom:18px; }
.portal-dot { width:8px; height:8px; border-radius:50%; background:#5de0b2; box-shadow:0 0 0 5px rgba(93,224,178,.13); }
.portal-hero h1 { font-size:clamp(2.6rem,6vw,4.65rem); line-height:1.06; letter-spacing:-.045em; font-weight:800; max-width:760px; margin:0 0 22px; color:#fff; }
.portal-hero h1 span { color:#8ee2c3; }
.portal-hero p { max-width:670px; color:#dce8f6; font-size:1.08rem; line-height:1.8; margin-bottom:28px; }
.portal-primary-btn { background:var(--portal-blue); border:1px solid var(--portal-blue); color:#fff; border-radius:9px; padding:12px 18px; font-weight:700; transition:transform .2s,background .2s; }
.portal-primary-btn:hover,.portal-primary-btn:focus { color:#fff; background:var(--portal-blue-dark); border-color:var(--portal-blue-dark); transform:translateY(-1px); }
.portal-hero .portal-primary-btn { background:#fff; color:var(--portal-navy); border-color:#fff; }
.portal-hero .portal-primary-btn:hover { background:#eaf5ff; color:var(--portal-navy); }
.portal-hero-meta { display:flex; flex-wrap:wrap; gap:22px; margin-top:30px; color:#d4e4f3; font-size:.92rem; }
.portal-hero-meta i { margin-right:7px; color:#8ee2c3; }
.portal-hero-orb { position:absolute; border:1px solid rgba(255,255,255,.12); border-radius:50%; pointer-events:none; }
.portal-orb-one { width:480px;height:480px;right:-120px;top:-130px;box-shadow:0 0 0 42px rgba(255,255,255,.025),0 0 0 88px rgba(255,255,255,.02); }
.portal-orb-two { width:190px;height:190px;right:18%;bottom:-130px;background:rgba(58,190,164,.09); }
.portal-jobs-section { padding:76px 0 86px; background:#fff; }
.portal-section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:26px; }
.portal-eyebrow-blue { color:var(--portal-blue); margin-bottom:12px; }
.portal-section-heading h2,.portal-values-section h2 { font-size:clamp(2rem,4vw,2.8rem); font-weight:800; letter-spacing:-.035em; color:var(--portal-navy); margin:0 0 10px; }
.portal-section-heading p { color:var(--portal-muted); margin:0; }
.portal-job-count { color:var(--portal-muted); background:#f2f6fb; border:1px solid var(--portal-border); border-radius:999px; padding:8px 13px; white-space:nowrap; font-size:.87rem; }
.portal-search-row { display:grid; grid-template-columns:auto minmax(200px,1fr) minmax(170px,240px); align-items:center; gap:12px; border:1px solid var(--portal-border); border-radius:12px; padding:10px 12px; margin-bottom:28px; box-shadow:0 4px 16px rgba(13,36,67,.03); }
.portal-search-row i { color:var(--portal-muted); padding-left:4px; }
.portal-search-row input,.portal-search-row select { border:0; outline:0; min-width:0; background:#fff; padding:8px; color:var(--portal-ink); }
.portal-search-row select { border-left:1px solid var(--portal-border); }
.portal-jobs-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.portal-job-card { display:flex; flex-direction:column; border:1px solid var(--portal-border); border-radius:15px; padding:24px; background:#fff; box-shadow:0 5px 20px rgba(13,36,67,.035); transition:transform .2s,box-shadow .2s,border-color .2s; min-width:0; }
.portal-job-card:hover { transform:translateY(-3px); border-color:#c4d8ed; box-shadow:var(--portal-card-shadow); }
.portal-job-top { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.portal-job-icon { width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#eaf4ff;color:var(--portal-blue);font-size:1.25rem;flex-shrink:0; }
.portal-job-title { font-size:1.2rem; line-height:1.35; font-weight:800; color:var(--portal-navy); margin:0 0 7px; }
.portal-job-department { color:var(--portal-blue); font-size:.9rem; font-weight:700; margin-bottom:0; }
.portal-job-meta { display:flex; flex-wrap:wrap; gap:9px 15px; color:var(--portal-muted); font-size:.87rem; margin:18px 0 14px; }
.portal-job-meta i { margin-right:5px; }
.portal-job-summary { color:#526276; line-height:1.7; margin:0 0 18px; }
.portal-job-tags { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 20px; }
.portal-job-tag { background:#f1f6fb; border-radius:6px; padding:5px 8px; color:#4b5f75; font-size:.78rem; }
.portal-job-bottom { margin-top:auto; padding-top:15px; border-top:1px solid #edf1f6; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.portal-job-posted { font-size:.8rem; color:#7b899b; }
.portal-apply-btn { padding:9px 13px; font-size:.9rem; }
.portal-empty-state,.portal-loading { grid-column:1/-1; padding:46px 20px; border:1px dashed #cad6e4; border-radius:14px; text-align:center; color:var(--portal-muted); background:#f9fbfe; }
.portal-empty-state i { font-size:2rem; display:block; margin-bottom:12px; color:#8ca1b7; }
.portal-values-section { padding:72px 0; background:var(--portal-bg); }
.portal-values-grid { display:grid; grid-template-columns:1.15fr repeat(3,1fr); gap:25px; align-items:start; }
.portal-value span { display:grid; place-items:center; width:43px;height:43px;border-radius:12px;background:#e2f3ed;color:#168b65;font-size:1.2rem;margin-bottom:15px; }
.portal-value h3 { font-size:1.08rem;font-weight:800;color:var(--portal-navy); }
.portal-value p { color:var(--portal-muted);line-height:1.7;font-size:.92rem;margin:0; }
.portal-footer { background:#091c34;color:#d9e5f1;padding:32px 0 20px; }
.portal-footer-inner { display:grid;grid-template-columns:1fr auto;gap:18px 35px;align-items:start; }
.portal-footer strong { color:#fff;font-size:1.05rem; }
.portal-footer p { color:#9eb1c7;font-size:.85rem;margin:7px 0 0; }
.portal-footer-links { display:flex;flex-wrap:wrap;gap:17px; }
.portal-footer a { color:#d9e5f1;text-decoration:none;font-size:.88rem; }
.portal-footer a:hover { color:#8ee2c3; }
.portal-copyright { grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:17px;text-align:center; }
.portal-apply-modal { border:0;border-radius:17px;overflow:hidden; }
.portal-apply-modal .modal-header { align-items:flex-start;padding:25px 28px 18px;border-bottom:1px solid #eaf0f6; }
.portal-apply-modal .modal-title { color:var(--portal-navy);font-weight:800;font-size:1.55rem; }
.portal-modal-subtitle { color:var(--portal-muted);font-size:.92rem;margin-top:5px; }
.portal-apply-modal .modal-body { padding:24px 28px 28px; }
.portal-form-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px; }
.portal-field { display:flex;flex-direction:column;gap:7px;min-width:0; }
.portal-field label,.portal-admin-card label,.portal-admin-login-form label { color:#25384e;font-size:.88rem;font-weight:700; }
.portal-field label span { display:block;color:#718198;font-weight:400;font-size:.78rem;margin-top:3px; }
.portal-field input,.portal-field select,.portal-field textarea,.portal-admin-card input,.portal-admin-card select,.portal-admin-card textarea,.portal-admin-login-form input { width:100%;border:1px solid #d6e0eb;border-radius:8px;padding:11px 12px;color:#1c2d42;background:#fff;outline:none; }
.portal-field input:focus,.portal-field select:focus,.portal-field textarea:focus,.portal-admin-card input:focus,.portal-admin-card select:focus,.portal-admin-card textarea:focus,.portal-admin-login-form input:focus { border-color:#6aa9e3;box-shadow:0 0 0 3px rgba(23,105,170,.1); }
.portal-field-full { grid-column:1/-1; }
.portal-field small { color:#748399;font-size:.79rem; }
.portal-privacy-note { color:#6d7c90;font-size:.81rem;line-height:1.6;margin:19px 0; }
.portal-privacy-note a { color:var(--portal-blue); }
.portal-submit-btn { width:100%; }
.portal-form-footnote { text-align:center;color:#7b899b;font-size:.8rem;margin:12px 0 0; }
.portal-honeypot { position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important; }
.portal-alert { padding:12px 14px;border-radius:9px;margin:0 0 16px;font-size:.9rem; }
.portal-alert-error { background:#fff1f0;border:1px solid #ffd0cb;color:#9f2d25; }
.portal-alert-success { background:#eaf8f1;border:1px solid #b8e8d1;color:#176943; }
.portal-spinner { display:inline-block;width:19px;height:19px;border:2px solid #d6e4f2;border-top-color:var(--portal-blue);border-radius:50%;vertical-align:middle;margin-right:8px;animation:portalSpin .8s linear infinite; }
@keyframes portalSpin { to { transform:rotate(360deg); } }

/* Admin dashboard */
.portal-admin-body { background:#f4f7fb;min-height:100vh; }
.portal-admin-header { background:#0b2342;color:#fff;padding:17px 0; }
.portal-admin-brand { color:#fff;text-decoration:none;font-weight:800;font-size:1.1rem; }
.portal-admin-brand span { color:#9ee3ca;font-weight:500;font-size:.9rem;margin-left:7px; }
.portal-back-link { color:#d7e7f6;text-decoration:none;font-size:.9rem; }
.portal-admin-main { padding-top:48px;padding-bottom:70px; }
.portal-admin-login { max-width:470px;margin:25px auto;background:#fff;border:1px solid var(--portal-border);border-radius:17px;padding:32px;box-shadow:var(--portal-card-shadow); }
.portal-admin-login h1,.portal-admin-title-row h1 { color:var(--portal-navy);font-weight:800;letter-spacing:-.035em; }
.portal-admin-login p,.portal-admin-title-row p,.portal-admin-panel-heading p { color:var(--portal-muted);line-height:1.6; }
.portal-admin-login-form { display:grid;gap:9px; }
.portal-admin-login-form label:not(:first-child) { margin-top:9px; }
.portal-admin-login-form .btn { margin-top:12px; }
.portal-admin-title-row { display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:27px; }
.portal-outline-btn { background:#fff;color:var(--portal-navy);border:1px solid #cbd7e5;border-radius:8px;padding:10px 14px;font-weight:700; }
.portal-outline-btn:hover { background:#f1f6fb;border-color:#9eb6d0;color:var(--portal-navy); }
.portal-admin-tabs { display:flex;gap:8px;border-bottom:1px solid #dce5ef;margin-bottom:25px; }
.portal-admin-tabs button { background:transparent;border:0;border-bottom:3px solid transparent;color:#687b91;padding:12px 16px;font-weight:700; }
.portal-admin-tabs button.active { color:var(--portal-blue);border-bottom-color:var(--portal-blue); }
.portal-admin-panel-heading { display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px; }
.portal-admin-panel-heading h2 { font-size:1.45rem;font-weight:800;color:var(--portal-navy);margin:0 0 5px; }
.portal-admin-panel-heading p { margin:0;font-size:.91rem; }
.portal-admin-card,.portal-admin-item { background:#fff;border:1px solid var(--portal-border);border-radius:13px;padding:23px;margin-bottom:17px;box-shadow:0 5px 20px rgba(13,36,67,.03); }
.portal-admin-card h3 { font-size:1.15rem;font-weight:800;color:var(--portal-navy);margin-bottom:18px; }
.portal-admin-form-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px; }
.portal-admin-form-grid > div { display:flex;flex-direction:column;gap:7px; }
.portal-admin-full { grid-column:1/-1; }
.portal-admin-actions { display:flex;gap:10px;margin-top:20px; }
.portal-admin-item { display:flex;justify-content:space-between;gap:18px;align-items:flex-start; }
.portal-admin-item-main { min-width:0;flex:1; }
.portal-admin-item h3 { color:var(--portal-navy);font-size:1.08rem;font-weight:800;margin:0 0 6px;overflow-wrap:anywhere; }
.portal-admin-item p { color:var(--portal-muted);font-size:.89rem;line-height:1.55;margin:4px 0;overflow-wrap:anywhere; }
.portal-admin-item-actions { display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end; }
.portal-mini-btn { border:1px solid #d0dce8;background:#fff;border-radius:7px;padding:7px 10px;color:#23415f;font-size:.83rem;font-weight:700; }
.portal-mini-btn:hover { background:#edf5fc; }
.portal-status-pill { display:inline-block;padding:4px 8px;border-radius:999px;font-size:.74rem;font-weight:800;background:#eef3f8;color:#53677d;text-transform:capitalize; }
.portal-status-published,.portal-status-shortlisted,.portal-status-hired { background:#e4f7ed;color:#18754c; }
.portal-status-draft,.portal-status-new { background:#fff5d9;color:#8a5b00; }
.portal-status-closed,.portal-status-rejected { background:#fff0ee;color:#a23a31; }
.portal-status-reviewing { background:#e9f2ff;color:#245e9a; }
.portal-applications-filter { display:flex;align-items:center;gap:10px;margin-bottom:17px; }
.portal-applications-filter label { font-weight:700;font-size:.88rem; }
.portal-applications-filter select { border:1px solid #d0dce8;border-radius:8px;padding:8px 10px;background:#fff; }
.portal-application-details { background:#f7f9fc;border-radius:9px;padding:12px;margin-top:12px; }
.portal-application-details p { margin:4px 0; }
.portal-empty-admin { text-align:center;padding:38px 20px;background:#fff;border:1px dashed #cbd7e5;border-radius:13px;color:var(--portal-muted); }
@media (max-width: 991px) {
  .portal-values-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .portal-values-grid > div:first-child { grid-column:1/-1; }
}
@media (max-width: 767px) {
  .portal-hero { padding:62px 0 54px; }
  .portal-jobs-section { padding:54px 0; }
  .portal-section-heading { align-items:flex-start;flex-direction:column; }
  .portal-search-row { grid-template-columns:auto minmax(0,1fr); }
  .portal-search-row select { grid-column:1/-1;border-left:0;border-top:1px solid var(--portal-border);width:100%; }
  .portal-jobs-grid { grid-template-columns:1fr; }
  .portal-values-grid { grid-template-columns:1fr; }
  .portal-values-grid > div:first-child { grid-column:auto; }
  .portal-footer-inner { grid-template-columns:1fr; }
  .portal-copyright { grid-column:auto; }
  .portal-form-grid,.portal-admin-form-grid { grid-template-columns:1fr; }
  .portal-field-full,.portal-admin-full { grid-column:auto; }
  .portal-apply-modal .modal-header,.portal-apply-modal .modal-body { padding-left:18px;padding-right:18px; }
  .portal-admin-main { padding-top:28px; }
  .portal-admin-login { padding:24px; }
  .portal-admin-title-row,.portal-admin-panel-heading { flex-direction:column;align-items:stretch; }
  .portal-admin-item { flex-direction:column; }
  .portal-admin-item-actions { justify-content:flex-start; }
  .portal-admin-tabs button { padding:11px 10px; }
}


/* ==========================================
   FIERCE SOLUTION — CAREERS PAGE DESIGN
   Premium styling layer
   ========================================== */

#careers-jobs {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}

#careers-jobs .text-center > p:first-child {
  color: #1673d1;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 2px;
  margin-bottom: 14px;
}

#careers-jobs h2 {
  color: #10243a;
  font-size: clamp(2rem, 4vw, 3.15rem);
  font-weight: 800;
  letter-spacing: -1.2px;
  line-height: 1.15;
  margin-bottom: 16px;
}

#careers-jobs .text-center > p:last-child {
  color: #64748b;
  font-size: 1.05rem;
  line-height: 1.8;
  max-width: 650px;
  margin-left: auto;
  margin-right: auto;
}

#careers-jobs .form-label {
  color: #24364b;
  font-size: 0.9rem;
  font-weight: 700;
  margin-bottom: 9px;
}

#careers-jobs .form-control,
#careers-jobs .form-select {
  min-height: 52px;
  border: 1px solid #dce4ed;
  border-radius: 10px;
  background-color: #fff;
  color: #182b40;
  padding: 12px 16px;
  box-shadow: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

#careers-jobs .form-control:focus,
#careers-jobs .form-select:focus {
  border-color: #1673d1;
  box-shadow: 0 0 0 4px rgba(22, 115, 209, 0.12);
}

#careers-jobs #jobCount {
  color: #64748b !important;
  font-size: 0.9rem;
  font-weight: 600;
}

#careers-jobs #jobsGrid > [class*="col"] {
  display: flex;
}

#careers-jobs #jobsGrid .card,
#careers-jobs #jobsGrid .job-card {
  width: 100%;
  border: 1px solid #e3eaf2;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(16, 36, 58, 0.045);
  transition: transform 0.25s ease, box-shadow 0.25s ease,
    border-color 0.25s ease;
}

#careers-jobs #jobsGrid .card:hover,
#careers-jobs #jobsGrid .job-card:hover {
  transform: translateY(-4px);
  border-color: #b9d8f7;
  box-shadow: 0 18px 40px rgba(16, 36, 58, 0.09);
}

#careers-jobs #jobsGrid .card-body,
#careers-jobs #jobsGrid .job-card-body {
  padding: 26px;
}

#careers-jobs #jobsGrid h3,
#careers-jobs #jobsGrid h4,
#careers-jobs #jobsGrid .card-title {
  color: #10243a;
  font-weight: 750;
  line-height: 1.4;
}

#careers-jobs #jobsGrid p {
  color: #64748b;
  line-height: 1.75;
}

#careers-jobs #jobsGrid .badge {
  border-radius: 6px;
  padding: 7px 10px;
  font-size: 0.75rem;
  font-weight: 650;
}

#careers-jobs #jobsGrid .btn,
#careers-jobs #jobsGrid button {
  border-radius: 8px;
  font-weight: 700;
  padding: 11px 18px;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

#careers-jobs #jobsGrid .btn-primary,
#careers-jobs #jobsGrid .portal-apply-btn {
  background: #1269c7;
  border-color: #1269c7;
  color: #fff;
}

#careers-jobs #jobsGrid .btn-primary:hover,
#careers-jobs #jobsGrid .portal-apply-btn:hover {
  background: #0c52a0;
  border-color: #0c52a0;
  transform: translateY(-1px);
}

#careers-jobs > p a {
  color: #1269c7;
  font-weight: 700;
  text-decoration: none;
}

#careers-jobs > p a:hover {
  text-decoration: underline;
}

@media (max-width: 767px) {
  #careers-jobs {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
  }

  #careers-jobs .text-center > p:last-child {
    font-size: 0.96rem;
  }

  #careers-jobs #jobsGrid .card-body,
  #careers-jobs #jobsGrid .job-card-body {
    padding: 20px;
  }
}

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



/* Improve spacing between job detail icons and text */
.portal-job-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 22px;
}

.portal-job-meta > span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  line-height: 1.6;
}

.portal-job-meta > span i {
  flex-shrink: 0;
  margin-right: 0;
}

