:root {
  --navy-950: #07152d;
  --navy-900: #0b1f3a;
  --navy-800: #123052;
  --slate-700: #334155;
  --slate-600: #475569;
  --slate-500: #64748b;
  --slate-300: #cbd5e1;
  --slate-200: #e2e8f0;
  --slate-100: #f1f5f9;
  --slate-50: #f8fafc;
  --emerald-600: #059669;
  --emerald-500: #10b981;
  --emerald-100: #d1fae5;
  --amber-100: #fef3c7;
  --brand: var(--navy-900);
  --brand-dark: var(--navy-950);
  --brand-light: #e9f7f2;
  --surface: #ffffff;
  --radius-sm: .65rem;
  --radius: 1rem;
  --radius-lg: 1.4rem;
  --shadow-sm: 0 8px 24px rgba(15, 23, 42, .06);
  --shadow: 0 18px 45px rgba(15, 23, 42, .1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--slate-50);
  color: #172033;
  font-family: "DM Sans", sans-serif;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6, .navbar-brand { font-family: "Manrope", sans-serif; }
a { color: var(--emerald-600); }

/* Navigation */
.app-navbar {
  min-height: 74px;
  padding: .65rem 0;
  background: rgba(255, 255, 255, .94);
  border-bottom: 1px solid rgba(226, 232, 240, .9);
  backdrop-filter: blur(16px);
}
.navbar-brand { display: flex; align-items: center; gap: .75rem; color: var(--navy-900); }
.navbar-brand:hover { color: var(--navy-900); }
.navbar-brand > span:last-child { display: flex; flex-direction: column; line-height: 1.05; }
.navbar-brand strong { font-size: 1rem; letter-spacing: -.02em; }
.navbar-brand small { margin-top: .3rem; color: var(--slate-500); font-family: "DM Sans", sans-serif; font-size: .69rem; font-weight: 500; }
.brand-mark {
  display: grid; place-items: center; width: 42px; height: 42px;
  color: #fff; background: linear-gradient(145deg, var(--emerald-500), #047857);
  border-radius: 13px; box-shadow: 0 9px 20px rgba(5, 150, 105, .24);
}
.app-navbar .nav-link { padding: .65rem .9rem !important; color: var(--slate-600); border-radius: .7rem; font-weight: 600; font-size: .9rem; }
.app-navbar .nav-link:hover, .app-navbar .nav-link.active { color: var(--navy-900); background: var(--slate-100); }
.app-navbar .nav-link i { margin-right: .3rem; }
.dropdown-menu { padding: .55rem; border: 1px solid var(--slate-200); border-radius: .85rem; }
.dropdown-item { padding: .65rem .75rem; border-radius: .55rem; font-size: .9rem; }
.dropdown-item i { width: 1.4rem; color: var(--slate-500); }

/* Search hero */
.search-hero { position: relative; overflow: hidden; padding: 4.6rem 0 4rem; color: #fff; background: linear-gradient(125deg, var(--navy-950), #0d3150 70%, #075848); }
.search-hero::after { content: ""; position: absolute; inset: 0; opacity: .12; background-image: radial-gradient(circle at 1px 1px, #fff 1px, transparent 0); background-size: 28px 28px; }
.search-hero .container-xl { z-index: 2; }
.hero-orb { position: absolute; border-radius: 50%; filter: blur(4px); opacity: .16; }
.hero-orb-one { width: 360px; height: 360px; right: 4%; top: -180px; background: var(--emerald-500); }
.hero-orb-two { width: 250px; height: 250px; left: 35%; bottom: -220px; background: #38bdf8; }
.eyebrow { display: inline-flex; align-items: center; gap: .45rem; margin-bottom: 1rem; color: #a7f3d0; font-size: .8rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.search-hero h1 { max-width: 720px; margin: 0 0 1rem; font-size: clamp(2.2rem, 4vw, 3.65rem); font-weight: 800; line-height: 1.05; letter-spacing: -.045em; }
.search-hero p { max-width: 650px; margin: 0; color: #cbd9e7; font-size: 1.08rem; line-height: 1.7; }
.hero-stat-panel { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; overflow: hidden; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.15); border-radius: var(--radius); backdrop-filter: blur(12px); }
.hero-stat-panel div { display: flex; flex-direction: column; align-items: center; padding: 1.25rem .5rem; background: rgba(7, 21, 45, .26); }
.hero-stat-panel strong { font-family: "Manrope"; font-size: 1.7rem; }
.hero-stat-panel span { margin-top: .2rem; color: #cbd9e7; font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; }
.hero-search { position: relative; display: grid; grid-template-columns: minmax(280px, 1.6fr) minmax(210px, .8fr) auto; align-items: stretch; gap: 0; margin-top: 2.4rem; padding: .55rem; background: #fff; border-radius: 1.15rem; box-shadow: 0 24px 60px rgba(1, 12, 29, .32); }
.hero-field { position: relative; display: grid; grid-template-columns: 26px 1fr; padding: .45rem 1.1rem; color: var(--slate-500); border-right: 1px solid var(--slate-200); }
.hero-field i { grid-row: 1 / 3; align-self: center; font-size: 1.15rem; color: var(--emerald-600); }
.hero-field label { color: var(--slate-500); font-size: .67rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.hero-field input, .hero-field select { width: 100%; padding: 0; color: var(--navy-900); background: transparent; border: 0; outline: 0; font-size: .95rem; font-weight: 600; }
.hero-field select { cursor: pointer; }
.btn-accent { display: inline-flex; align-items: center; justify-content: center; gap: .7rem; padding: 0 1.5rem; color: #fff; background: var(--emerald-600); border: 0; border-radius: .8rem; font-weight: 700; white-space: nowrap; }
.btn-accent:hover { color: #fff; background: #047857; }

/* Search content */
.sync-strip { display: flex; align-items: center; gap: .6rem; margin-bottom: 1.4rem; padding: .72rem 1rem; color: var(--slate-600); background: #fff; border: 1px solid var(--slate-200); border-radius: .75rem; font-size: .8rem; }
.sync-dot { width: 8px; height: 8px; background: var(--emerald-500); border-radius: 50%; box-shadow: 0 0 0 4px var(--emerald-100); }
.sync-warning .sync-dot { background: #f59e0b; box-shadow: 0 0 0 4px var(--amber-100); }
.filter-panel { top: 94px; padding: 1.25rem; background: #fff; border: 1px solid var(--slate-200); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.filter-heading { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 1.25rem; padding-bottom: 1rem; border-bottom: 1px solid var(--slate-200); }
.filter-heading span { display: block; color: var(--navy-900); font-family: "Manrope"; font-weight: 700; }
.filter-heading small { display: block; margin-top: .18rem; color: var(--slate-500); font-size: .73rem; }
.filter-heading i { color: var(--emerald-600); font-size: 1.1rem; }
.collection-lock {
  display: flex; align-items: flex-start; gap: .65rem; margin-bottom: 1rem; padding: .75rem;
  color: #047857; background: var(--emerald-100); border-radius: .7rem;
}
.collection-lock > i { margin-top: .1rem; }
.collection-lock div { display: flex; min-width: 0; flex-direction: column; }
.collection-lock small { font-size: .65rem; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.collection-lock strong { overflow-wrap: anywhere; color: var(--navy-900); font-size: .78rem; }
.filter-panel .form-label { margin-bottom: .35rem; color: var(--slate-600); font-size: .76rem; font-weight: 700; }
.form-control, .form-select { min-height: 44px; color: var(--navy-900); background-color: #fff; border-color: var(--slate-200); border-radius: .7rem; font-size: .87rem; }
.form-control:focus, .form-select:focus { border-color: var(--emerald-500); box-shadow: 0 0 0 .2rem rgba(16,185,129,.12); }
.category-picker { position: relative; }
.category-picker-button {
  display: flex; align-items: center; justify-content: space-between; gap: .6rem;
  width: 100%; min-height: 44px; padding: .65rem .8rem; color: var(--navy-900);
  background: #fff; border: 1px solid var(--slate-200); border-radius: .7rem;
  font-size: .87rem; text-align: left;
}
.category-picker-button:hover, .category-picker-button[aria-expanded="true"] {
  border-color: var(--emerald-500);
}
.category-picker-button[aria-expanded="true"] {
  box-shadow: 0 0 0 .2rem rgba(16,185,129,.12);
}
.category-picker-button.has-selection { color: #047857; font-weight: 650; }
.category-picker-panel {
  position: absolute; z-index: 20; top: calc(100% + .35rem); left: 0; right: 0;
  overflow: hidden; padding: .45rem; background: #fff;
  border: 1px solid var(--slate-200); border-radius: .75rem; box-shadow: var(--shadow);
}
.category-picker-search {
  display: grid; grid-template-columns: auto 1fr; align-items: center; gap: .45rem;
  margin-bottom: .35rem; padding: .45rem .55rem; color: var(--slate-500);
  border: 1px solid var(--slate-200); border-radius: .55rem;
}
.category-picker-search input {
  min-width: 0; padding: 0; color: var(--navy-900); background: transparent;
  border: 0; outline: 0; font-size: .82rem;
}
.category-picker-options { max-height: 260px; overflow-y: auto; padding: .15rem; }
.category-picker-option {
  display: flex; align-items: center; gap: .55rem; padding: .5rem .45rem;
  color: var(--slate-700); border-radius: .45rem; cursor: pointer; font-size: .8rem;
}
.category-picker-option:hover { background: var(--slate-100); }
.category-picker-option input { accent-color: var(--emerald-600); }
.category-picker-empty { padding: 1rem .5rem; color: var(--slate-500); font-size: .78rem; text-align: center; }
.form-check-label { color: var(--slate-600); font-size: .82rem; }
.form-check-input:checked { background-color: var(--emerald-600); border-color: var(--emerald-600); }
.filter-actions { display: flex; justify-content: space-between; margin-top: .9rem; }
.filter-actions a, .filter-actions button { padding: 0; color: var(--slate-500); background: none; border: 0; font-size: .78rem; font-weight: 600; text-decoration: none; }
.filter-actions a:hover, .filter-actions button:hover { color: var(--emerald-600); }
.results-header { display: flex; justify-content: space-between; align-items: end; margin-bottom: 1.15rem; }
.results-kicker { color: var(--emerald-600); font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }
.results-header h2 { margin: .2rem 0 0; color: var(--navy-900); font-size: 1.55rem; font-weight: 800; letter-spacing: -.03em; }
.page-count { color: var(--slate-500); font-size: .78rem; }
.job-list { display: grid; gap: .85rem; }
.job-result { position: relative; display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center; padding: 1.25rem; background: #fff; border: 1px solid var(--slate-200); border-radius: var(--radius); box-shadow: 0 5px 18px rgba(15,23,42,.035); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.job-result:hover { z-index: 2; transform: translateY(-2px); border-color: #9bd9c4; box-shadow: var(--shadow); }
.job-result-link { position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.institution-mark { display: grid; place-items: center; width: 54px; height: 54px; color: var(--emerald-600); background: var(--brand-light); border-radius: .9rem; font-size: 1.25rem; }
.job-result-body { min-width: 0; }
.job-result-topline { display: flex; align-items: center; gap: .5rem; margin-bottom: .4rem; }
.category-pill, .deadline-pill { display: inline-flex; padding: .25rem .55rem; border-radius: 999px; font-size: .67rem; font-weight: 700; }
.category-pill { color: #047857; background: var(--emerald-100); }
.metadata-link {
  position: relative; z-index: 2; color: inherit; cursor: pointer;
  text-decoration-line: underline; text-decoration-style: dotted;
  text-decoration-color: #94a3b8; text-underline-offset: 3px;
}
.metadata-link:hover { color: var(--emerald-600); text-decoration: underline; text-underline-offset: 2px; }
.category-pill.metadata-link:hover { color: #065f46; background: #a7f3d0; text-decoration: none; }
.metadata-link:focus-visible, .detail-metadata-link:focus-visible, .fact-metadata-link:focus-visible {
  outline: 2px solid var(--emerald-500); outline-offset: 3px;
}
.deadline-pill { color: var(--slate-600); background: var(--slate-100) !important; }
.deadline-pill.bg-danger { color: #b91c1c; background: #fee2e2 !important; }
.deadline-pill.bg-warning { color: #92400e !important; background: var(--amber-100) !important; }
.deadline-pill.bg-success { color: #047857; background: var(--emerald-100) !important; }
.job-result h3 { margin: 0; color: var(--navy-900); font-size: 1.02rem; font-weight: 750; line-height: 1.35; }
.institution-name { margin: .25rem 0 .65rem; color: var(--slate-600); font-size: .84rem; font-weight: 500; }
.job-meta { display: flex; flex-wrap: wrap; gap: .5rem 1.1rem; color: var(--slate-500); font-size: .76rem; }
.job-meta i { margin-right: .25rem; color: #94a3b8; }
.job-meta .salary { color: #047857; font-weight: 700; }
.job-result-cta { display: flex; align-items: center; gap: .65rem; color: var(--navy-900); font-size: .76rem; font-weight: 700; }
.job-result-cta i { display: grid; place-items: center; width: 34px; height: 34px; color: var(--emerald-600); background: var(--emerald-100); border-radius: 50%; }
.job-result:hover .job-result-cta i { color: #fff; background: var(--emerald-600); }
.job-closed { opacity: .68; }
.empty-state { padding: 4rem 2rem; text-align: center; background: #fff; border: 1px dashed var(--slate-300); border-radius: var(--radius); }
.empty-icon { display: grid; place-items: center; width: 64px; height: 64px; margin: 0 auto 1rem; color: var(--emerald-600); background: var(--emerald-100); border-radius: 50%; font-size: 1.5rem; }
.empty-state h3 { color: var(--navy-900); font-size: 1.2rem; }
.empty-state p { color: var(--slate-500); }
.results-pagination { display: flex; align-items: center; justify-content: center; gap: .35rem; margin-top: 1.7rem; }
.page-number, .page-arrow { display: grid; place-items: center; min-width: 38px; height: 38px; padding: 0 .5rem; color: var(--slate-600); background: #fff; border: 1px solid var(--slate-200); border-radius: .65rem; font-size: .8rem; font-weight: 700; text-decoration: none; }
.page-number:hover, .page-arrow:hover, .page-number.active { color: #fff; background: var(--navy-900); border-color: var(--navy-900); }
.page-arrow.disabled { pointer-events: none; opacity: .4; }
.page-ellipsis { padding: 0 .25rem; color: var(--slate-500); }

/* Shared admin/detail surfaces */
.card { border-color: var(--slate-200); border-radius: var(--radius); }
.card-header { border-bottom-color: var(--slate-200); }
.card-header-brand { color: #fff; background: linear-gradient(135deg, var(--navy-900), #0d5c59); border-radius: var(--radius) var(--radius) 0 0 !important; }
.btn { border-radius: .7rem; font-weight: 650; }
.btn-primary { background: var(--navy-900); border-color: var(--navy-900); }
.btn-primary:hover { background: var(--navy-950); border-color: var(--navy-950); }
.btn-outline-primary { color: var(--navy-900); border-color: var(--navy-900); }
.btn-outline-primary:hover { background: var(--navy-900); border-color: var(--navy-900); }
.stat-card { border-radius: var(--radius); }
.stat-card .stat-num { font-family: "Manrope"; font-size: 2rem; font-weight: 800; line-height: 1.1; }
.stat-card .stat-cap { color: var(--slate-500); font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; }
.stat-box { height: 100%; padding: .9rem; text-align: center; background: var(--slate-100); border-radius: .8rem; }
.stat-label { color: var(--slate-500); font-size: .67rem; text-transform: uppercase; letter-spacing: .05em; }
.stat-value { margin-top: .25rem; font-size: .95rem; }
.section-title { margin: 1.35rem 0 .45rem; padding-bottom: .4rem; color: var(--navy-900); border-bottom: 2px solid var(--emerald-100); font-weight: 800; }

/* Job detail */
.job-detail-page { max-width: 1180px; margin: 0 auto; }
.detail-back-link {
  display: inline-flex; align-items: center; gap: .45rem; margin-bottom: 1rem;
  color: var(--slate-600); font-size: .84rem; font-weight: 700; text-decoration: none;
}
.detail-back-link:hover { color: var(--emerald-600); }
.detail-hero {
  position: relative; display: flex; justify-content: space-between; align-items: center;
  overflow: hidden; padding: 2.25rem 2.4rem; color: #fff;
  background: linear-gradient(125deg, var(--navy-950), #0c3e50 68%, #08705d);
  border-radius: var(--radius-lg); box-shadow: 0 22px 50px rgba(7,21,45,.18);
}
.detail-hero::after {
  content: ""; position: absolute; inset: 0; opacity: .11;
  background-image: radial-gradient(circle at 1px 1px, #fff 1px, transparent 0);
  background-size: 24px 24px;
}
.detail-hero-content { position: relative; z-index: 2; min-width: 0; }
.detail-badges { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1rem; }
.detail-regime, .detail-category, .detail-closed {
  display: inline-flex; align-items: center; padding: .32rem .65rem;
  border: 1px solid rgba(255,255,255,.16); border-radius: 999px;
  font-size: .68rem; font-weight: 750;
}
.detail-regime { color: #d1fae5; background: rgba(16,185,129,.18); }
.detail-category { color: #dbeafe; background: rgba(56,189,248,.13); }
.detail-metadata-link { cursor: pointer; text-decoration: underline dotted rgba(255,255,255,.55); text-underline-offset: 3px; }
.detail-metadata-link:hover { color: #fff; border-color: rgba(255,255,255,.42); }
.detail-closed { color: #fee2e2; background: rgba(239,68,68,.18); }
.detail-kicker {
  margin: 0 0 .35rem; color: #a7f3d0; font-size: .72rem;
  font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
}
.detail-hero h1 {
  max-width: 850px; margin: 0; font-size: clamp(1.65rem, 3vw, 2.55rem);
  font-weight: 800; line-height: 1.13; letter-spacing: -.035em;
}
.detail-institution { margin: .75rem 0 0; color: #d6e3eb; font-size: 1rem; }
.detail-institution i { margin-right: .35rem; color: #6ee7b7; }
.detail-institution .detail-metadata-link { color: inherit; }
.detail-institution .detail-metadata-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.detail-hero-mark {
  position: relative; z-index: 2; display: grid; flex: 0 0 auto; place-items: center;
  width: 82px; height: 82px; margin-left: 2rem; color: #a7f3d0;
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.15);
  border-radius: 1.25rem; font-size: 2rem; backdrop-filter: blur(8px);
}
.detail-facts {
  position: relative; z-index: 3; display: grid; grid-template-columns: repeat(4, 1fr);
  gap: .75rem; margin: -1rem 1.25rem 1.5rem; padding: .75rem;
  background: rgba(255,255,255,.98); border: 1px solid var(--slate-200);
  border-radius: 1.05rem; box-shadow: var(--shadow);
}
.detail-fact {
  display: flex; align-items: center; gap: .75rem; min-width: 0; padding: .85rem;
  border-right: 1px solid var(--slate-200);
}
.detail-fact:last-child { border-right: 0; }
.detail-fact-icon {
  display: grid; flex: 0 0 auto; place-items: center; width: 40px; height: 40px;
  color: var(--emerald-600); background: var(--emerald-100); border-radius: .75rem;
}
.detail-fact div { display: flex; min-width: 0; flex-direction: column; }
.detail-fact small {
  color: var(--slate-500); font-size: .62rem; font-weight: 750;
  letter-spacing: .06em; text-transform: uppercase;
}
.detail-fact strong { margin-top: .12rem; color: var(--navy-900); font-size: .92rem; }
.detail-fact span:not(.detail-fact-icon) { color: var(--slate-500); font-size: .72rem; }
.detail-fact .detail-salary { color: #047857; }
.fact-metadata-link { color: inherit; cursor: pointer; text-decoration: underline dotted #94a3b8; text-underline-offset: 3px; }
.fact-metadata-link:hover { color: var(--emerald-600); text-decoration: underline; text-underline-offset: 2px; }
.detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 1.25rem; align-items: start; }
.detail-requirements { display: grid; gap: .85rem; }
.requirement-card {
  display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 1rem;
  padding: 1.25rem 1.35rem; background: #fff; border: 1px solid var(--slate-200);
  border-radius: var(--radius); box-shadow: 0 5px 18px rgba(15,23,42,.035);
}
.requirement-icon {
  display: grid; place-items: center; width: 42px; height: 42px;
  color: var(--emerald-600); background: var(--brand-light); border-radius: .8rem;
  font-size: 1.05rem;
}
.requirement-card h2 {
  margin: .15rem 0 .65rem; color: var(--navy-900); font-size: 1rem;
  font-weight: 800; letter-spacing: -.015em;
}
.requirement-card p {
  margin: 0; color: var(--slate-700); font-size: .9rem; line-height: 1.72;
  white-space: pre-line;
}
.detail-apply-panel {
  position: sticky; top: 94px; padding: 1.4rem; text-align: center;
  background: #fff; border: 1px solid #b7e4d3; border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
}
.detail-deadline-icon {
  display: grid; place-items: center; width: 48px; height: 48px; margin: 0 auto .8rem;
  color: var(--emerald-600); background: var(--emerald-100); border-radius: 50%;
  font-size: 1.15rem;
}
.detail-apply-panel > small {
  display: block; color: var(--slate-500); font-size: .68rem; font-weight: 750;
  letter-spacing: .06em; text-transform: uppercase;
}
.detail-apply-panel > strong {
  display: block; margin: .25rem 0 .5rem; color: var(--navy-900);
  font-family: "Manrope"; font-size: 1.3rem;
}
.detail-deadline {
  display: inline-flex; padding: .3rem .6rem; color: var(--slate-600) !important;
  background: var(--slate-100) !important; border-radius: 999px;
  font-size: .7rem; font-weight: 750;
}
.detail-deadline.bg-success { color: #047857 !important; background: var(--emerald-100) !important; }
.detail-deadline.bg-warning { color: #92400e !important; background: var(--amber-100) !important; }
.detail-deadline.bg-danger, .detail-deadline.bg-dark { color: #b91c1c !important; background: #fee2e2 !important; }
.detail-apply-button {
  display: flex; align-items: center; justify-content: center; gap: .55rem;
  width: 100%; margin: 1.15rem 0; padding: .8rem 1rem; color: #fff;
  background: var(--emerald-600); border-radius: .75rem; font-size: .83rem;
  font-weight: 750; text-decoration: none;
}
.detail-apply-button:hover { color: #fff; background: #047857; }
.detail-reference { margin: 0; padding-top: .25rem; text-align: left; }
.detail-reference div {
  display: flex; justify-content: space-between; gap: .75rem;
  padding: .62rem 0; border-top: 1px solid var(--slate-200); font-size: .72rem;
}
.detail-reference dt { color: var(--slate-500); font-weight: 600; }
.detail-reference dd { margin: 0; color: var(--navy-900); font-weight: 700; text-align: right; }
.detail-reference dd a { color: inherit; text-decoration: none; }
.detail-reference dd a:hover { color: var(--emerald-600); text-decoration: underline; }
.log-tail { max-height: 480px; overflow: auto; padding: 1rem; color: #d8e2ef; background: var(--navy-950); border-radius: .7rem; font-family: Consolas, monospace; font-size: .74rem; line-height: 1.5; white-space: pre-wrap; word-break: break-word; }
.integration-card { overflow: hidden; border: 1px solid #b7e4d3; background: linear-gradient(145deg, #f0fdf8, #fff); }
.api-endpoint { display: flex; gap: .5rem; align-items: center; padding: .7rem .8rem; color: #d1fae5; background: var(--navy-950); border-radius: .65rem; font: .75rem Consolas, monospace; word-break: break-all; }
.api-endpoint code { color: inherit; }
.api-example { padding: .8rem; color: #dbeafe; background: #101d34; border-radius: .65rem; font: .72rem Consolas, monospace; white-space: pre-wrap; }
.flash-stack { position: relative; z-index: 4; }

.site-footer { margin-top: 4rem; padding: 1.6rem 0; color: var(--slate-500); background: #fff; border-top: 1px solid var(--slate-200); font-size: .8rem; }
.site-footer a { color: var(--slate-600); text-decoration: none; }
.site-footer a:hover { color: var(--emerald-600); }

@media (max-width: 991.98px) {
  .search-hero { padding: 3.3rem 0 3rem; }
  .hero-search { grid-template-columns: 1fr; gap: .35rem; }
  .hero-field { border-right: 0; border-bottom: 1px solid var(--slate-200); }
  .btn-accent { min-height: 52px; }
  .filter-panel { position: static !important; }
  .detail-layout { grid-template-columns: 1fr; }
  .detail-apply-panel { position: static; }
  .detail-facts { grid-template-columns: repeat(2, 1fr); }
  .detail-fact:nth-child(2) { border-right: 0; }
}
@media (max-width: 767.98px) {
  .app-navbar { min-height: 66px; }
  .search-hero h1 { font-size: 2.25rem; }
  .search-hero p { font-size: .95rem; }
  .hero-stat-panel strong { font-size: 1.25rem; }
  .hero-stat-panel span { font-size: .6rem; text-align: center; }
  .sync-strip { align-items: flex-start; flex-wrap: wrap; }
  .sync-strip .ms-auto { margin-left: 0 !important; width: 100%; }
  .job-result { grid-template-columns: auto 1fr; padding: 1rem; }
  .institution-mark { width: 46px; height: 46px; }
  .job-result-cta { display: none; }
  .job-meta { gap: .45rem; }
  .job-meta span { width: 100%; }
  .results-header { align-items: flex-start; }
  .page-count { white-space: nowrap; }
  .detail-hero { padding: 1.6rem 1.25rem; border-radius: var(--radius); }
  .detail-hero-mark { display: none; }
  .detail-facts { grid-template-columns: 1fr; margin: .75rem 0 1rem; }
  .detail-fact, .detail-fact:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--slate-200); }
  .detail-fact:last-child { border-bottom: 0; }
  .requirement-card { grid-template-columns: 36px minmax(0, 1fr); gap: .8rem; padding: 1rem; }
  .requirement-icon { width: 36px; height: 36px; }
  .site-footer { text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
