/* ==========================================================================
   Hiring Schools — internal app skin  (employer portal + admin panel)
   Loaded AFTER the base template CSS (stylecd4e.css / codebase.css) so it
   layers the marketing design system (Inter/Jakarta, navy+red, soft cards)
   over the existing jobBox / Codebase structure without touching page markup.
   Palette + component language mirror assets/css/hs-redesign.css.
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap');

:root{
  --navy:#104A70; --navy-deep:#0C3A5A; --navy-soft:#2C6690;
  --red:#C0272C; --red-deep:#A11F24;
  --muted:#5D7380; --ink:#16323F;
  --bg:#FFFFFF; --soft:#F5F8FA; --soft-2:#EEF3F6;
  --line:#E4EBEF; --chip-bg:#EAF1F6; --chip-fg:#104A70;
  --radius:14px; --radius-sm:10px;
  --shadow:0 1px 2px rgba(16,74,112,.04), 0 16px 34px -26px rgba(16,74,112,.45);
}

/* ---------- typography ---------- */
body, .font-heading, .main-menu, .mobile-menu{
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  color:var(--ink);
}
h1,h2,h3,h4,h5,h6,.small-heading,.section-title,.display,
.block-title,.content-heading,.font-w700,.font-w600{
  font-family:"Plus Jakarta Sans","Inter",sans-serif !important;
  letter-spacing:-.01em;
}
h1,h2,h3,h4,h5,h6,.small-heading,.section-title{color:var(--navy);}
a{color:var(--navy);}
.color-text-paragraph,.text-small,.font-sm,.text-muted{color:var(--muted) !important;}

/* ==========================================================================
   EMPLOYER PORTAL  (jobBox / Bootstrap)
   ========================================================================== */

/* buttons -> marketing pill buttons */
.btn.btn-default,.btn-apply,.btn-apply-now,.btn-primary,.btn-brand,
.form-group .btn,button.btn:not(.btn-link){
  border-radius:8px !important;
  font-family:"Inter",sans-serif !important;
  font-weight:600 !important;
  border:1.5px solid transparent !important;
  transition:background .18s ease,border-color .18s ease,transform .12s ease;
  box-shadow:none !important;
}
.btn-apply-now,.btn-apply,.btn-brand,.btn-primary{
  background:var(--red) !important;color:#fff !important;
}
.btn-apply-now:hover,.btn-apply:hover,.btn-brand:hover,.btn-primary:hover{
  background:var(--red-deep) !important;color:#fff !important;transform:translateY(-1px);
}
.btn.btn-default{background:var(--navy) !important;color:#fff !important;}
.btn.btn-default:hover{background:var(--navy-deep) !important;color:#fff !important;transform:translateY(-1px);}
.btn-outline,.btn.btn-border{
  background:#fff !important;color:var(--navy) !important;border-color:var(--line) !important;
}
.btn-outline:hover,.btn.btn-border:hover{border-color:var(--navy) !important;}

/* form controls */
.form-control,.form-select,input[type="text"],input[type="email"],
input[type="password"],input[type="number"],input[type="tel"],
input[type="search"],input[type="url"],input[type="date"],select,textarea{
  font-family:"Inter",sans-serif !important;
  border:1.5px solid var(--line) !important;
  border-radius:8px !important;
  background:#fff !important;
  color:var(--ink) !important;
  box-shadow:none !important;
  transition:border-color .16s ease;
}
.form-control:focus,input:focus,select:focus,textarea:focus{
  border-color:var(--navy) !important;
  box-shadow:0 0 0 3px rgba(44,102,144,.15) !important;
  outline:none !important;
}
.form-label,label{font-weight:600;color:var(--ink);}

/* cards / panels — NOT .section-box: in jobBox that's a full-width page
   section wrapper, and carding it paints stray full-width border lines */
.card-briefcase,.box-content,.sidebar-list-job,.sidebar-shadow,
.card-grid-2,.box-padding,.panel,.dashboard-box,.card-block-info,.job-list-list{
  background:#fff !important;
  border:1px solid var(--line) !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow) !important;
}
.section-box,.section-box-2{background:transparent !important;border:0 !important;box-shadow:none !important}
.sidebar-list-job{padding:22px !important;}
.sidebar-shadow{padding:20px 18px !important;}
.sidebar-filters h6,.sidebar-filters .f-18{margin:0 0 6px !important;}
/* nested card inside an already-carded sidebar: flatten to avoid double borders */
.sidebar-shadow .sidebar-list-job{border:0 !important;box-shadow:none !important;padding:0 !important;margin-top:10px !important;}
.card-briefcase:hover{border-color:var(--navy) !important;}

/* chips / badges / tags */
.badge,.tag,.card-briefcase .badge,.job-tag,.btn-tags{
  border-radius:999px !important;
  background:var(--chip-bg) !important;color:var(--chip-fg) !important;
  font-weight:600 !important;
}

/* tables */
table.table thead th,.table thead th{
  color:var(--navy) !important;
  border-bottom:2px solid var(--line) !important;
  font-family:"Plus Jakarta Sans",sans-serif !important;
  background:var(--soft) !important;
}
.table td,.table th{border-color:var(--line) !important;}
.table tbody tr:hover,.table tbody tr:hover{background:var(--soft) !important;}

/* second nav bar hardcoded old-navy -> brand navy handled inline in header,
   but catch any residual */
[style*="#164c74"]{background:var(--navy) !important;}

/* ==========================================================================
   ADMIN PANEL  (Codebase framework)
   ========================================================================== */

/* blocks -> soft cards */
.block{
  border-radius:var(--radius) !important;
  border:1px solid var(--line) !important;
  box-shadow:var(--shadow) !important;
}
.block.block-themed>.block-header{background-color:var(--navy) !important;}
.block-header{border-bottom:1px solid var(--line);}
.block-title{color:var(--navy);}

/* admin buttons: keep semantic danger/success, brand the primaries */
.btn-primary,.btn-alt-primary,.btn-hero-primary,.btn-info,.btn-alt-info{
  background-color:var(--navy) !important;border-color:var(--navy) !important;color:#fff !important;
  border-radius:8px !important;
}
.btn-primary:hover,.btn-alt-primary:hover,.btn-hero-primary:hover{
  background-color:var(--navy-deep) !important;border-color:var(--navy-deep) !important;
}
.btn-hero,.btn-danger,.btn-alt-danger{border-radius:8px !important;}
.btn-danger,.btn-alt-danger{background-color:var(--red) !important;border-color:var(--red) !important;color:#fff !important;}
.btn-danger:hover,.btn-alt-danger:hover{background-color:var(--red-deep) !important;}

/* codebase gradient widgets -> brand navy gradient */
.bg-gd-sea,.bg-gd-dusk,.bg-gd-emerald,.bg-gd-sun,.bg-gd-cherry,
.bg-gd-lake,.bg-gd-leaf,.bg-gd-aqua,.bg-primary,.bg-flat{
  background-image:linear-gradient(135deg,var(--navy) 0%,var(--navy-soft) 100%) !important;
  background-color:var(--navy) !important;
}

/* admin links + focus */
#page-container a:not(.btn){color:var(--navy);}

/* ==========================================================================
   DECISIVE OVERRIDES — old jobBox form template (.resum-form / login-register)
   These legacy selectors (black borders, Roboto, gray panels) are specific
   enough to fight the skin, so we override the "look" properties outright.
   ========================================================================== */

/* force the marketing fonts on legacy text that hardcodes Roboto */
.resum-form, .resum-form *, .login-register-cover, .login-register-cover *,
.box-content, .box-content *, .dashboard-content, .dashboard-content *,
.candidate-profile, .sidebar-list-job, .sidebar-list-job *{
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif !important;
}
.resum-form h1,.resum-form h2,.resum-form h3,.resum-form h4,.resum-form h5,
.login-register-cover h1,.login-register-cover h2,.login-register-cover h3,
.login-register-cover h4,.small-heading,.text-brand-1{
  font-family:"Plus Jakarta Sans","Inter",sans-serif !important;color:var(--navy) !important;
}

/* legacy form inputs -> marketing input style (kills black borders + gray) */
.resum-form label{color:var(--ink) !important;font-size:14px !important;font-weight:600 !important;line-height:1.4 !important;margin:0 0 8px 0 !important;}
.resum-form input[type="text"],.resum-form input[type="email"],.resum-form input[type="password"],
.resum-form input[type="url"],.resum-form input[type="number"],.resum-form input[type="tel"],
.resum-form input[type="search"],.resum-form input[type="date"],.resum-form textarea,.resum-form select{
  border:1.5px solid var(--line) !important;
  border-radius:8px !important;
  background:#fff !important;
  color:var(--ink) !important;
  height:auto !important;
  min-height:46px !important;
  padding:12px 14px !important;
  margin:0 0 18px 0 !important;
  box-shadow:none !important;
}
.resum-form textarea{min-height:130px !important;}
.resum-form input:focus,.resum-form textarea:focus,.resum-form select:focus{
  border-color:var(--navy) !important;box-shadow:0 0 0 3px rgba(44,102,144,.15) !important;outline:none !important;
}

/* legacy wrappers / gray panels -> clean white cards */
.login-register-cover{
  border:1px solid var(--line) !important;
  border-radius:var(--radius) !important;
  background:#fff !important;
  box-shadow:var(--shadow) !important;
  padding:26px !important;
}
.resum-form,.resum-form.padd-tb,.padd-tb,.dashboard-content,.box-content{background:#fff !important;}
.divider-text-center{border:0 !important;}

/* legacy submit/apply buttons in forms -> brand pill */
.resum-form input[type="submit"],.resum-form button[type="submit"],
button[type="submit"].btn,input[type="submit"].btn{
  background:var(--red) !important;color:#fff !important;border:0 !important;
  border-radius:8px !important;font-family:"Inter",sans-serif !important;font-weight:600 !important;
  padding:12px 26px !important;height:auto !important;
}
.resum-form input[type="submit"]:hover,.resum-form button[type="submit"]:hover{background:var(--red-deep) !important;}

/* soft page background so white cards read as cards */
body.emp-portal,#wrapper,.dashboard-wrap{background:var(--soft);}

/* breathing room between the sticky nav and the first content section */
main.main > section:first-child,
main.main > .section-box-2:first-child{margin-top:26px !important}

/* leftover jobBox template spacers: empty divider/banner strips render as
   stray horizontal lines above content — hide any that carry no content */
.border-bottom:empty{display:none !important;border:0 !important;padding:0 !important;margin:0 !important}
.banner-image-single:empty{display:none !important}
.section-box-2:empty{display:none !important}
