/*
Theme Name: Recruitment Officer Board
Theme URI: https://recruitmentofficer.in
Template: ro-theme
Author: Recruitment Officer
Description: Classic sarkari job board look for RecruitmentOfficer.in (button menus, state codes, link columns, table listings, coloured boxes). Child theme of ro-theme: every parent and ro-core feature keeps working.
Version: 1.0.1
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ro-board
*/

/* ================================================================
   1. TOKENS
   Brand colours come from the Recruitment Officer logo: navy, royal
   blue, gold arc and the tricolor swoosh. Parent token names stay
   defined because plugin output uses them in inline styles.
================================================================ */
:root {
  --rb-navy: #13235E;
  --rb-navy-2: #0C1845;
  --rb-navy-3: #1B3278;
  --rb-blue: #1E5FD6;
  --rb-blue-2: #1749AE;
  --rb-steel: #2E6AB3;
  --rb-teal: #17697E;
  --rb-gold: #F2A60C;
  --rb-gold-2: #A06900;
  --rb-gold-bg: #FFF6E0;
  --rb-red: #D7261E;
  --rb-green: #1A853C;
  --rb-wa: #178640;
  --rb-tg: #1A7CAB;
  --rb-link: #1A0DAB;
  --rb-visited: #5E2CA5;
  --rb-text: #1C2333;
  --rb-muted: #5A6478;
  --rb-bg: #F3F5F9;
  --rb-card: #FFFFFF;
  --rb-line: #D7DEEA;
  --rb-line-2: #E8ECF3;
  --rb-zebra: #F4F6E8;
  --rb-maxw: 1240px;
  --sans: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Noto Sans Devanagari", "Helvetica Neue", Arial, sans-serif;
  --mono: var(--sans);

  /* parent tokens (used by inline styles from ro-core / ro-theme) */
  --ink: #13235E;
  --ink-2: #5A6478;
  --paper: #FFFFFF;
  --paper-2: #F3F5F9;
  --card: #FFFFFF;
  --line: #D7DEEA;
  --kesari: #F2A60C;
  --kesari-dark: #A06900;
  --green: #1A853C;
  --alert: #D7261E;
  --blue: #1E5FD6;
  --purple: #5B3FB5;
  --rad: 8px;
  --shadow: none;
  --maxw: 1240px;
}

/* ================================================================
   2. BASE
================================================================ */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--rb-bg); color: var(--rb-text);
  font: 16px/1.55 var(--sans);
}
img { max-width: 100%; height: auto; }
a { color: var(--rb-link); text-decoration: none; }
a:hover { text-decoration: underline; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--rb-gold); outline-offset: 2px; }
.mono { font-family: inherit; font-size: inherit; font-variant-numeric: tabular-nums; letter-spacing: 0; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.skip-link { position: absolute; left: -9999px; top: 8px; z-index: 200; background: #fff; color: var(--rb-navy); padding: 8px 14px; border-radius: 6px; font-weight: 700; }
.skip-link:focus { left: 8px; }
.rb-ic { display: inline-block; flex: 0 0 auto; vertical-align: middle; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* ================================================================
   3. HEADER
================================================================ */
.tricolor { height: 4px; background: linear-gradient(90deg, #FF9933 0 33.34%, #FFFFFF 33.34% 66.67%, #138808 66.67%); }
.rb-head { background: linear-gradient(180deg, var(--rb-navy-3) 0%, var(--rb-navy) 100%); color: #fff; border-bottom: 3px solid var(--rb-gold); }
.rb-head .head-in { max-width: var(--rb-maxw); margin: 0 auto; padding: 10px 14px; display: flex; align-items: center; gap: 18px; }
.rb-logo { display: flex; flex: 0 0 auto; align-items: center; gap: 13px; color: #fff; }
.rb-logo:hover { text-decoration: none; color: #fff; }
.rb-logo .logo-mark { width: 66px; height: 66px; border-radius: 50%; background: #fff; object-fit: cover; box-shadow: 0 0 0 3px var(--rb-gold), 0 4px 14px rgba(0, 0, 0, .25); }
.rb-logo .logo-name { display: block; font: 800 31px/1.05 var(--sans); letter-spacing: -.015em; white-space: nowrap; }
.rb-logo .logo-name em { font-style: normal; color: var(--rb-gold); }
.rb-logo .logo-tag { display: block; margin-top: 6px; font: 500 15px/1.2 var(--sans); color: #DDE5FB; letter-spacing: .01em; }
.rb-logo .logo-tag i { font-style: normal; color: var(--rb-gold); padding: 0 7px; }

.rb-head .head-search { margin-left: auto; flex: 0 1 440px; min-width: 180px; }
.rb-head .head-search form { display: flex; position: relative; }
.rb-head .head-search input[type=search] {
  flex: 1; min-width: 0; border: 0; border-radius: 8px 0 0 8px; padding: 11px 14px;
  font: 15px var(--sans); background: #fff; color: var(--rb-text);
}
.rb-head .head-search input::placeholder { color: #7A8399; }
.rb-head .head-search button {
  display: inline-flex; align-items: center; gap: 6px; border: 0; cursor: pointer;
  background: var(--rb-gold); color: var(--rb-navy-2); font: 800 15px var(--sans);
  padding: 0 16px; border-radius: 0 8px 8px 0;
}
.rb-head .head-search button:hover { background: #FFB92B; }
.head-actions { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.head-actions .join { width: 40px; height: 40px; padding: 0; justify-content: center; border-radius: 50%; }
.head-actions .join span { display: none; }
.head-actions .join .rb-ic { width: 21px; height: 21px; }

/* join buttons (parent class names kept) */
.join-row { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.join {
  display: inline-flex; align-items: center; gap: 6px; color: #fff; text-decoration: none;
  font: 700 13.5px/1 var(--sans); padding: 9px 12px; border-radius: 8px; white-space: nowrap;
}
.join::before { display: none; }
.join:hover { color: #fff; text-decoration: none; filter: brightness(1.08); }
.join-wa { background: var(--rb-wa); }
.join-tg { background: var(--rb-tg); }
.join-lg .join { font-size: 15px; padding: 11px 16px; }
.install-btn, .alert-btn {
  border: 1px solid rgba(255, 255, 255, .35); background: rgba(255, 255, 255, .1); color: #fff; cursor: pointer;
  font: 700 13.5px var(--sans); padding: 9px 12px; border-radius: 8px; white-space: nowrap;
}
.install-btn:hover, .alert-btn:hover { background: var(--rb-gold); color: var(--rb-navy-2); border-color: var(--rb-gold); }
.alert-btn::before { content: "\1F514"; margin-right: 6px; }
.alert-btn.on { background: var(--rb-green); border-color: var(--rb-green); }

/* button navigation (desktop) */
.rb-nav { background: #fff; border-bottom: 1px solid var(--rb-line); }
.rb-nav .rb-in { max-width: var(--rb-maxw); margin: 0 auto; padding: 7px 14px 6px; }
.rb-pills { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px; }
.rb-pills + .rb-pills { margin-top: 4px; }
.rb-pills li { margin: 0; }
.rb-pills a, .rb-pills summary {
  display: block; background: var(--rb-blue); color: #fff; text-decoration: none;
  font: 600 15px/1 var(--sans); padding: 8px 11px; border-radius: 6px; white-space: nowrap; cursor: pointer;
}
.rb-pills a:hover, .rb-pills summary:hover { background: var(--rb-navy); color: #fff; text-decoration: none; }
.rb-pills .home a, .rb-pills .navy a { background: var(--rb-navy); }
.rb-pills .hot a { background: var(--rb-red); }
.rb-pills .gold a { background: var(--rb-gold); color: var(--rb-navy-2); }
.rb-pills .green a { background: var(--rb-green); }
.rb-pills .current-menu-item a, .rb-pills a[aria-current] { box-shadow: inset 0 -3px 0 var(--rb-gold); }
.rb-sectors a { background: var(--rb-steel); }
.rb-states a { min-width: 40px; text-align: center; }
.rb-nav .rb-in { position: relative; }
.rb-states .rb-dd-li { position: static; }
.rb-dd > summary { list-style: none; }
.rb-dd > summary::-webkit-details-marker { display: none; }
.rb-dd > summary::after { content: ""; display: inline-block; margin-left: 6px; border: 5px solid transparent; border-top-color: currentColor; border-bottom-width: 0; vertical-align: 2px; }
.rb-dd[open] > summary { background: var(--rb-navy); }
.rb-dd-panel {
  position: absolute; z-index: 80; top: calc(100% + 6px); left: 0; width: min(560px, 92vw);
  background: #fff; border: 1px solid var(--rb-line); border-radius: 10px; padding: 10px;
  box-shadow: 0 18px 40px -14px rgba(12, 24, 69, .45);
  display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 4px;
  max-height: 70vh; overflow: auto;
}
.rb-dd-panel a {
  display: flex; justify-content: space-between; align-items: flex-start; text-align: left; gap: 6px; background: #F2F6FD; color: var(--rb-navy);
  font: 600 14px/1.25 var(--sans); padding: 8px 10px; border-radius: 6px; text-decoration: none; white-space: normal;
}
.rb-dd-panel a:hover { background: var(--rb-blue); color: #fff; text-decoration: none; }
.rb-dd-panel a span { color: var(--rb-muted); font-weight: 500; font-size: 12.5px; }
.rb-dd-h { grid-column: 1 / -1; margin: 6px 2px 2px; font: 800 12px var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--rb-muted); }
.rb-dd-h:first-child { margin-top: 0; }
.rb-dd-panel a:hover span { color: #DCE6FF; }
.rb-states .rb-dd-panel { right: 14px; left: auto; top: calc(100% - 2px); }

/* mobile menu + quick row (hidden on desktop) */
.rb-mnav, .rb-quick { display: none; }

/* notice line (classic red notice) */
.rb-notice {
  max-width: var(--rb-maxw); margin: 0 auto; padding: 8px 14px 0; text-align: center;
  color: var(--rb-red); font: 600 14.5px/1.4 var(--sans);
}

/* ================================================================
   4. PAGE SHELL + LEFT LINK COLUMN
================================================================ */
.rb-shell { max-width: var(--rb-maxw); margin: 0 auto; padding: 12px 14px 0; }
.rb-shell.has-left { display: grid; grid-template-columns: 236px minmax(0, 1fr); gap: 16px; align-items: start; }
.rb-shell.has-left > .rb-content { grid-column: 2; grid-row: 1; min-width: 0; }
.rb-shell.has-left > .rb-left { grid-column: 1; grid-row: 1; }
.rb-content { min-width: 0; }
.rb-content > .wrap, .rb-content .wrap { max-width: none; margin: 0; padding: 0; }

.rb-left { background: #fff; border: 1px solid var(--rb-line); border-radius: 8px; padding: 8px 8px 4px; }
.rb-lbox + .rb-lbox { margin-top: 6px; }
.rb-lbox h2 {
  margin: 0 0 4px; background: var(--rb-steel); color: #fff; border-radius: 5px;
  font: 600 17px/1.25 var(--sans); padding: 7px 10px;
}
.rb-lbox ul { list-style: none; margin: 0 0 6px; padding: 0; }
.rb-lbox li a {
  display: flex; align-items: flex-start; gap: 8px; padding: 5px 4px;
  color: #1C5A99; font: 600 15.5px/1.35 var(--sans);
}
.rb-lbox li a::before {
  content: ""; flex: 0 0 12px; height: 12px; margin-top: 4px; border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #9CC4F2 0, #2E6AB3 55%, #13235E 100%);
}
.rb-lbox li a:hover { color: var(--rb-red); text-decoration: none; }
.rb-ljoin p { margin: 2px 4px 8px; font-size: 13.5px; color: var(--rb-muted); }
.rb-ljoin .join-row { padding: 0 2px 8px; }
.rb-ljoin .join { flex: 1; justify-content: center; }

/* ================================================================
   5. HOMEPAGE
================================================================ */
.rb-home { display: flex; flex-direction: column; gap: 14px; padding-bottom: 6px; }

/* hero strip */
.rb-hero {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 18px;
  background: #fff; border: 1px solid var(--rb-line); border-left: 5px solid var(--rb-gold); border-radius: 8px; padding: 12px 16px;
}
.rb-hero h1 { margin: 0 0 4px; font: 800 21px/1.25 var(--sans); color: var(--rb-navy); letter-spacing: -.01em; }
.rb-live { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; font-size: 14px; color: var(--rb-muted); }
.rb-live b { color: var(--rb-navy); font-size: 16px; }
.rb-live b.g { color: #1A853C; }
.rb-live b.r { color: var(--rb-red); }
.rb-live b.o { color: var(--rb-gold-2); }
.live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--rb-red); box-shadow: 0 0 0 3px rgba(215, 38, 30, .18); animation: rb-pulse 1.6s ease-in-out infinite; }
@keyframes rb-pulse { 50% { box-shadow: 0 0 0 7px rgba(215, 38, 30, .05); } }
.strip-right { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.state-pick { display: inline-flex; align-items: center; gap: 8px; font: 700 14px var(--sans); color: var(--rb-navy); }
.state-pick > span { white-space: nowrap; }
.state-pick select { font: 600 14px var(--sans); padding: 8px 10px; border: 1.5px solid var(--rb-line); border-radius: 7px; background: #fff; color: var(--rb-text); max-width: 200px; }
.state-go { font: 700 14px var(--sans); color: #fff; background: var(--rb-navy); padding: 9px 12px; border-radius: 7px; text-decoration: none; }
.state-go:hover { background: var(--rb-blue); color: #fff; text-decoration: none; }

/* action cards */
.rb-actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.rb-act {
  display: flex; align-items: center; gap: 10px; min-width: 0; padding: 10px 12px; border-radius: 10px;
  color: #fff; text-decoration: none; border: 1px solid transparent;
}
.rb-act:hover { text-decoration: none; filter: brightness(1.05); color: #fff; }
.rb-act .rb-ic { width: 30px; height: 30px; padding: 5px; border-radius: 50%; background: rgba(255, 255, 255, .2); }
.rb-act span { display: flex; flex-direction: column; min-width: 0; }
.rb-act b { font: 800 15px/1.2 var(--sans); }
.rb-act small { font-size: 12.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rb-act-wa { background: #0E6E52; }
.rb-act-tg { background: #1A6FA3; }
.rb-act-g { background: #fff; color: var(--rb-text); border-color: var(--rb-line); }
.rb-act-g:hover { color: var(--rb-text); border-color: var(--rb-blue); }
.rb-act-g .rb-ic { background: #F1F3F8; }
.rb-act-g small { color: var(--rb-muted); }
.rb-act-res, .rb-act-app { background: #EEF3FF; color: var(--rb-navy); border-color: #CCD9F5; }
.rb-act-res:hover, .rb-act-app:hover { color: var(--rb-navy); border-color: var(--rb-blue); }
.rb-act-res .rb-ic, .rb-act-app .rb-ic { background: var(--rb-blue); color: #fff; }

/* trending searches (plugin shortcode) */
.rb-trend .tsearch { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; padding: 0; }
.ts-label { font: 800 12px var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--rb-muted); margin-right: 4px; }
.tsearch a { font-size: 13.5px; background: #fff; border: 1px solid var(--rb-line); border-radius: 999px; padding: 4px 11px; color: var(--rb-navy); }
.tsearch a:hover { border-color: var(--rb-blue); color: var(--rb-blue); text-decoration: none; }

/* closing soon + today cards */
.rb-duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.rb-duo > * { min-width: 0; }
.rb-card { background: #fff; border: 1px solid var(--rb-line); border-radius: 12px; padding: 14px; display: flex; flex-direction: column; }
.rb-ch {
  display: flex; align-items: center; gap: 8px; margin: 0 0 8px; padding: 10px 14px; border-radius: 8px;
  background: #141B3D; color: #fff; font: 700 19px/1.2 var(--sans);
}
.rb-livetag { background: var(--rb-red); color: #fff; font: 800 11px/1 var(--sans); letter-spacing: .06em; padding: 4px 6px; border-radius: 4px; }
.rb-card ul { list-style: none; margin: 0; padding: 0; flex: 1; }
.rb-card li { display: flex; align-items: center; gap: 10px; padding: 9px 2px; border-bottom: 1px solid var(--rb-line-2); font-size: 15.5px; line-height: 1.35; min-width: 0; }
.rb-card li:last-child { border-bottom: 0; }
.rb-card li a { color: var(--rb-text); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1; }
.rb-card li a:hover { color: var(--rb-blue); }
.rb-today li::before { content: ""; flex: 0 0 6px; height: 6px; border-radius: 50%; background: var(--rb-blue); }
.rb-today li a { white-space: normal; }
.rb-dl { flex: 0 0 auto; background: var(--rb-red); color: #fff; font: 800 11.5px/1 var(--sans); padding: 6px 7px; border-radius: 4px; letter-spacing: .02em; min-width: 66px; text-align: center; }
.rb-closing li:nth-child(n+3) .rb-dl:not(.rb-dl-today) { background: #B3261E; }
.rb-cmore { display: inline-flex; align-items: center; gap: 4px; align-self: flex-end; margin-top: 8px; font: 700 14px var(--sans); color: var(--rb-blue); }
.rb-cmore .rb-ic { width: 16px; height: 16px; }

/* steel-header boxes */
.rb-box { background: #fff; border: 1px solid #9EB2D3; border-radius: 4px; overflow: hidden; padding-bottom: 10px; }
.rb-bh {
  display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0;
  background: var(--rb-steel); color: #fff; padding: 8px 12px; text-align: center;
  font: 700 26px/1.2 var(--sans); letter-spacing: -.005em; border-bottom: 3px solid var(--rb-gold);
}
.rb-bsub { margin: 6px 12px 2px; font-size: 13.5px; color: var(--rb-muted); text-align: center; }
.rb-seal {
  display: inline-grid; place-items: center; flex: 0 0 auto; width: 28px; height: 28px; border-radius: 50%;
  background: var(--rb-gold); color: var(--rb-navy-2); font: 900 11px/1 var(--sans); letter-spacing: .02em;
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .7);
}
.rb-seal::before { content: "RO"; }
.rb-cols3, .rb-cols2, .rb-ul { margin: 6px 0 0; padding: 0 12px 0 32px; }
.rb-cols3 { columns: 3; column-gap: 26px; }
.rb-cols2 { columns: 2; column-gap: 26px; }
.rb-cols3 li, .rb-cols2 li, .rb-ul li { break-inside: avoid; margin: 0; padding: 5px 0; font-size: 16px; line-height: 1.45; }
.rb-cols3 li::marker, .rb-cols2 li::marker, .rb-ul li::marker { color: var(--rb-navy); }
.rb-cols3 a:visited, .rb-cols2 a:visited, .rb-ul a:visited, .rb-card a:visited { color: var(--rb-visited); }
.rb-m { display: inline-flex; flex-wrap: wrap; gap: 4px 6px; vertical-align: 1px; margin-left: 2px; }
.rb-qn { color: var(--rb-muted); font-size: 14px; }
.rb-va { text-align: center; margin-top: 8px; }
.rb-viewall, .board-box .more.rb-viewall {
  display: inline-block; background: var(--rb-gold); color: var(--rb-navy-2); border: 0;
  font: 800 16px/1 var(--sans); padding: 9px 22px; border-radius: 999px; text-decoration: none;
}
.rb-viewall:hover { background: var(--rb-navy); color: #fff; text-decoration: none; }

/* last date alert bar */
.rb-ldbar {
  align-self: center; width: min(640px, 100%); display: flex; align-items: center; gap: 12px;
  background: #FFF4EE; border: 1px solid #F6D5C2; border-radius: 12px; padding: 11px 14px; color: var(--rb-text);
}
.rb-ldbar:hover { text-decoration: none; border-color: var(--rb-red); }
.rb-pulse { flex: 0 0 10px; height: 10px; border-radius: 50%; background: #F26B3A; box-shadow: 0 0 0 4px rgba(242, 107, 58, .2); animation: rb-pulse 1.6s ease-in-out infinite; }
.rb-ldt { flex: 1; font-size: 16px; }
.rb-ldt em { font-style: normal; color: #C24624; font-weight: 700; font-size: 14px; }
.rb-ldgo { display: inline-flex; align-items: center; gap: 4px; background: #141B3D; color: #fff; font: 700 14px var(--sans); padding: 8px 14px; border-radius: 999px; white-space: nowrap; }
.rb-ldgo .rb-ic { width: 16px; height: 16px; }

/* coloured tiles: biggest live recruitments */
.rb-eyebrow { margin: 0 0 8px; font: 800 13px var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--rb-navy); }
.rb-tgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; border: 2px solid #fff; background: #fff; }
.rb-tile {
  display: flex; flex-direction: column; gap: 3px; min-height: 118px; padding: 10px 12px; color: #fff; text-decoration: none;
  background: var(--tc, #17697E);
}
.rb-tile:hover { text-decoration: none; color: #fff; filter: brightness(1.08); }
.rb-tgrid > * { min-width: 0; }
.rb-tile b { font: 800 30px/1 var(--sans); letter-spacing: -.01em; }
.rb-tile b small { font-size: 15px; font-weight: 700; }
.rb-to { font: 800 11.5px/1.25 var(--sans); letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rb-tt { font: 700 18px/1.25 var(--sans); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.rb-tl { margin-top: auto; font: 600 13px/1.2 var(--sans); background: rgba(0, 0, 0, .18); align-self: flex-start; padding: 3px 7px; border-radius: 4px; }
.rb-t1 { --tc: #0F7A86; } .rb-t2 { --tc: #AB5E0A; } .rb-t3 { --tc: #1E5FD6; }
.rb-t4 { --tc: #6A790F; } .rb-t5 { --tc: #C2185B; } .rb-t6 { --tc: #C24B08; }
.rb-t7 { --tc: #0B78A8; } .rb-t8 { --tc: #6A35B8; } .rb-t9 { --tc: #2E7D32; }

/* jobs for you (alert card style) */
.rb-alerts .bb-foryou { background: #F2F6FF; border: 1px solid #CFDCF6; border-radius: 14px; padding: 12px 14px; }
.rb-fyh { display: flex; align-items: center; gap: 12px; }
.rb-fyh p { margin: 0; }
.rb-fyh b { display: block; font: 800 19px/1.3 var(--sans); color: var(--rb-text); }
.rb-fyh b .b { color: var(--rb-blue); }
.rb-fyh b .r { color: var(--rb-red); }
.rb-fyh small { display: block; color: var(--rb-muted); font-size: 13.5px; }
.rb-bell { position: relative; flex: 0 0 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: var(--rb-blue); box-shadow: 0 2px 8px rgba(30, 95, 214, .18); }
.rb-bell::after { content: "1"; position: absolute; top: -2px; right: -2px; width: 18px; height: 18px; border-radius: 50%; background: var(--rb-red); color: #fff; font: 800 11px/18px var(--sans); text-align: center; }
.rb-bell .rb-ic { width: 24px; height: 24px; }
.fy-form { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.fy-label { display: none; }
.fy-form select { flex: 1 1 180px; min-width: 0; font: 600 14.5px var(--sans); padding: 10px; border: 1.5px solid #C9D6EF; border-radius: 8px; background: #fff; color: var(--rb-text); }
.fy-form button { background: var(--rb-blue); color: #fff; border: 0; border-radius: 8px; padding: 11px 18px; font: 800 15px var(--sans); cursor: pointer; }
.fy-form button:hover { background: var(--rb-navy); }
.fy-list:empty { display: none; }
.fy-list { margin-top: 10px; background: #fff; border: 1px solid var(--rb-line); border-radius: 8px; }
.fy-list > .box-empty:only-child { margin: 0; padding: 10px 12px; }
.bb-foryou .fy-list > .fy-hint { display: none; }

/* three-column board (Latest / Admit / Result), parent hooks kept */
.mtabs { display: none; }
.board3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: start; }
.board3 > :not(.board-box) { grid-column: 1 / -1; }
.board-box.rb-bx { background: #fff; border: 1px solid #9EB2D3; border-radius: 4px; overflow: hidden; padding-bottom: 10px; }
.board-box.rb-bx > h2 {
  display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0; padding: 8px 10px;
  background: var(--rb-steel); color: #fff; text-align: center; border-bottom: 3px solid var(--rb-gold);
  font: 700 21px/1.2 var(--sans); letter-spacing: -.005em; text-transform: none;
}
.board-box.rb-bx > h2::before { display: none; }
.board-box.rb-bx.bb-admit > h2 { background: #AB5E0A; }
.board-box.rb-bx.bb-result > h2 { background: #1B7A43; }
.board-box.rb-bx.bb-answer > h2 { background: #B3261E; }
.board-box.rb-bx.bb-exam > h2 { background: #5B3FB5; }
.board-box.rb-bx.bb-study > h2 { background: #46566F; }
.board-box.rb-bx .hcount { background: rgba(0, 0, 0, .3); color: #fff; font: 700 12.5px/1 var(--sans); padding: 4px 8px; border-radius: 999px; }
.board-box.rb-bx .rb-sub { margin: 6px 10px 0; font-size: 13px; color: var(--rb-muted); text-align: center; }
.board-box.rb-bx .rb-ul { padding: 0 10px 0 28px; }
.board-box.rb-bx .rb-ul li { font-size: 15.5px; padding: 5px 0; }
.board-box.rb-bx .box-empty { margin: 10px 12px; color: var(--rb-muted); font-size: 14px; }
.board-box.rb-bx .rb-va { margin-top: 8px; }

/* chips (states / sectors / combos) */
.rb-chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 12px 0; }
.rb-chips a { display: inline-flex; align-items: center; gap: 6px; background: #EEF3FC; color: var(--rb-navy); border: 1px solid #D3DEF2; border-radius: 6px; padding: 6px 10px; font: 600 14px var(--sans); }
.rb-chips a span { color: var(--rb-muted); font-weight: 500; font-size: 12.5px; }
.rb-chips a:hover { background: var(--rb-blue); border-color: var(--rb-blue); color: #fff; text-decoration: none; }
.rb-chips a:hover span { color: #DCE6FF; }
.rb-statejobs .rb-chips { border-top: 1px dashed var(--rb-line); margin-top: 10px; }
.rb-bgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 18px; padding: 0 0 4px; }
.rb-bgrid h3 { margin: 12px 12px 0; font: 800 13px var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--rb-navy); }
.rb-combos { list-style: none; margin: 8px 12px 0; padding: 0; columns: 2; column-gap: 16px; }
.rb-combos li { break-inside: avoid; padding: 4px 0; font-size: 15px; }

/* about + faq */
.rb-about { background: #fff; border: 1px solid var(--rb-line); border-top: 4px solid var(--rb-navy); border-radius: 8px; padding: 16px; }
.rb-about-in { display: flex; gap: 14px; align-items: flex-start; }
.rb-about-in .logo-mark { flex: 0 0 64px; width: 64px; height: 64px; border-radius: 50%; box-shadow: 0 0 0 3px var(--rb-gold); }
.rb-about h2 { margin: 0 0 6px; font: 800 20px/1.25 var(--sans); color: var(--rb-navy); }
.rb-about p { margin: 0 0 8px; font-size: 15px; color: #3A4458; line-height: 1.65; }
.rb-faq { margin-top: 8px; border-top: 1px solid var(--rb-line-2); }
.rb-faq details { border-bottom: 1px solid var(--rb-line-2); }
.rb-faq summary { cursor: pointer; padding: 10px 2px; font: 700 15.5px/1.4 var(--sans); color: var(--rb-navy); list-style: none; }
.rb-faq summary::-webkit-details-marker { display: none; }
.rb-faq summary::before { content: "+"; display: inline-block; width: 18px; color: var(--rb-gold-2); font-weight: 900; }
.rb-faq details[open] summary::before { content: "\2212"; }
.rb-faq details p { margin: 0 0 10px 18px; }

/* ================================================================
   6. SHARED LIST ROWS, STAMPS, BADGES (parent markup)
================================================================ */
.jlist { list-style: none; margin: 0; padding: 0; }
.jrow { padding: 8px 12px; border-bottom: 1px solid var(--rb-line-2); }
.jrow:last-child { border-bottom: 0; }
.jrow-title { display: block; color: var(--rb-link); font: 600 16px/1.4 var(--sans); }
.jrow-title:visited { color: var(--rb-visited); }
.jrow-title:hover { color: var(--rb-red); }
.jrow-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin-top: 3px; font-size: 13px; color: var(--rb-muted); }
.jr-date { color: var(--rb-muted); }
.jr-q { color: #3A4458; background: #EEF2F8; border-radius: 4px; padding: 1px 6px; max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tag-new { display: inline-block; background: var(--rb-red); color: #fff; font: 800 10px/1 var(--sans); letter-spacing: .06em; padding: 3px 5px; border-radius: 3px; }
.stamp {
  display: inline-block; border: 1px solid #BFCBE0; border-radius: 4px; padding: 1px 7px;
  color: #23314F; background: #F6F8FC; font-weight: 600; font-size: 12.5px; white-space: nowrap; transform: none;
}
.stamp.urgent { border-color: #F0B2AD; color: #C0221B; background: #FDEFEE; font-weight: 700; }
.stamp.expired { border-color: var(--rb-red); background: var(--rb-red); color: #fff; }
.stamp.starts { border-color: #B9B3EC; color: #5B3FB5; background: #F3F1FD; }
.stamp i { font-style: normal; font-size: 10.5px; color: var(--rb-muted); margin-left: 3px; }
.examdate { display: inline-block; color: #5B3FB5; background: #F3F1FD; border: 1px solid #D6D0F5; border-radius: 4px; padding: 1px 7px; font-size: 12.5px; font-weight: 600; }
.tbadge { display: inline-block; font: 800 10.5px/1 var(--sans); letter-spacing: .04em; text-transform: uppercase; padding: 4px 6px; border-radius: 4px; color: #fff; background: var(--rb-navy); vertical-align: 1px; }
.tb-latest-jobs { background: var(--rb-blue); }
.tb-admit-card { background: #AB5E0A; }
.tb-result { background: #1B7A43; }
.tb-answer-key { background: #B3261E; }
.tb-syllabus, .tb-cutoff { background: #5B3FB5; }
.tb-previous-papers { background: #46566F; }
.tb-upcoming { background: var(--rb-teal); }
.tb-yojana { background: #B7410E; } .tb-scholarship { background: var(--rb-teal); } .tb-admission { background: #4C5FD5; }
.box-empty { color: var(--rb-muted); font-size: 14px; }
.nv { color: var(--rb-muted); font-size: 12.5px; font-style: italic; }
.views { color: var(--rb-muted); font-size: 12.5px; }

/* ================================================================
   7. ARCHIVES (taxonomy, combo pages, search): table look
================================================================ */
.crumbs { font-size: 13.5px; color: var(--rb-muted); margin: 2px 0 8px; }
.crumbs a { color: var(--rb-blue); text-decoration: underline; text-decoration-color: rgba(30, 95, 214, .35); text-underline-offset: 2px; }
.crumbs span { color: #A0A9BC; }
.crumbs .crumbs-here { color: var(--rb-text); font-weight: 600; }
.arch-head { margin: 0 0 10px; }
.arch-head h1 {
  margin: 0 0 8px; padding: 10px 14px; background: #DCE5F4; color: var(--rb-navy);
  border-left: 5px solid var(--rb-gold); font: 700 26px/1.25 var(--sans); letter-spacing: -.01em;
}
.arch-head .intro { margin: 0; font-size: 15px; color: #3A4458; line-height: 1.6; }
.ttabs { display: flex; gap: 4px; flex-wrap: wrap; margin: 0 0 10px; }
.ttabs a { background: var(--rb-blue); color: #fff; font: 600 14px/1 var(--sans); padding: 8px 12px; border-radius: 6px; }
.ttabs a.on, .ttabs a:hover { background: var(--rb-navy); color: #fff; text-decoration: none; }
.list-box { background: #fff; border: 1px solid var(--rb-line); border-radius: 6px; overflow: hidden; }
.archive .list-box, .search .list-box { border: 2px solid var(--rb-teal); border-radius: 2px; }
.rb-thead { display: none; }

@media (min-width: 900px) {
  .archive .list-box .jlist, .search .list-box .jlist { columns: auto; }
  .archive .list-box .jrow, .search .list-box .jrow {
    position: relative; display: grid; grid-template-columns: 92px minmax(0, 1fr) 156px 182px 96px;
    grid-template-rows: auto auto; align-items: center; padding: 0; min-height: 46px;
    border-bottom: 1px solid #C9D3E3; border-right: 0; break-inside: auto;
  }
  .archive .list-box .jrow:nth-child(odd):not(.rb-thead), .search .list-box .jrow:nth-child(odd):not(.rb-thead) { background: var(--rb-zebra); }
  .archive .list-box .jrow:hover, .search .list-box .jrow:hover { background: #EAF1FF; }
  .archive .list-box .jrow > *, .search .list-box .jrow > *,
  .archive .list-box .jrow-meta > *, .search .list-box .jrow-meta > * { padding: 7px 10px; }
  .archive .list-box .jrow-meta, .search .list-box .jrow-meta { display: contents; }
  .archive .list-box .jr-date, .search .list-box .jr-date { grid-column: 1; grid-row: 1; color: #23314F; font-weight: 600; font-size: 14px; padding-bottom: 0; }
  .archive .list-box .tag-new, .search .list-box .tag-new { grid-column: 1; grid-row: 2; justify-self: start; margin: 0 0 7px 10px; padding: 3px 5px; }
  .archive .list-box .jrow-title, .search .list-box .jrow-title { grid-column: 2; grid-row: 1 / span 2; align-self: stretch; display: flex; align-items: center; border-left: 1px solid #C9D3E3; border-right: 1px solid #C9D3E3; font-size: 16px; }
  .archive .list-box .jrow-title::after, .search .list-box .jrow-title::after { content: ""; position: absolute; inset: 0; }
  .archive .list-box .jr-q, .search .list-box .jr-q,
  .archive .list-box .jrow-meta > span.mono:not(.jr-date):not(.stamp):not(.examdate),
  .search .list-box .jrow-meta > span.mono:not(.jr-date):not(.stamp):not(.examdate) {
    grid-column: 3; grid-row: 1 / span 2; justify-self: stretch; align-self: stretch; display: flex; align-items: center;
    max-width: none; background: transparent; border-radius: 0; white-space: normal; font-size: 14px; color: #23314F;
  }
  .archive .list-box .stamp, .search .list-box .stamp,
  .archive .list-box .examdate, .search .list-box .examdate { grid-column: 4; grid-row: 1 / span 2; justify-self: start; margin-left: 10px; white-space: normal; padding: 3px 7px; font-size: 13.5px; }
  .archive .list-box .jrow::before, .search .list-box .jrow::before {
    content: ""; grid-column: 4; grid-row: 1 / span 2; align-self: stretch; border-left: 1px solid #C9D3E3;
  }
  .archive .list-box .jrow::after, .search .list-box .jrow::after {
    content: "Get Details"; grid-column: 5; grid-row: 1 / span 2; align-self: stretch; display: flex; align-items: center; justify-content: center;
    border-left: 1px solid #C9D3E3; color: var(--rb-link); font: 700 14px/1.2 var(--sans); text-align: center; padding: 0 6px;
  }
  .archive .list-box .jrow:hover::after, .search .list-box .jrow:hover::after { color: var(--rb-red); text-decoration: underline; }
  .list-box .rb-thead.jrow {
    display: grid !important; background: var(--rb-teal) !important; color: #fff; min-height: 0 !important;
    font: 700 15px/1.25 var(--sans); border-bottom: 0 !important;
  }
  .rb-thead.jrow::before, .rb-thead.jrow::after { display: none !important; }
  .rb-thead > span { grid-row: 1; padding: 10px 10px !important; display: flex; align-items: center; }
  .rb-thead .th-d { grid-column: 1; }
  .rb-thead .th-t { grid-column: 2; border-left: 1px solid rgba(255, 255, 255, .25); }
  .rb-thead .th-q { grid-column: 3; border-left: 1px solid rgba(255, 255, 255, .25); }
  .rb-thead .th-l { grid-column: 4; border-left: 1px solid rgba(255, 255, 255, .25); }
  .rb-thead .th-i { grid-column: 5; border-left: 1px solid rgba(255, 255, 255, .25); justify-content: center; }
}

/* pagination */
.nav-links { display: flex; gap: 6px; flex-wrap: wrap; margin: 16px 0; }
.nav-links .page-numbers { min-width: 40px; text-align: center; border: 1px solid var(--rb-line); background: #fff; color: var(--rb-navy); padding: 9px 12px; border-radius: 6px; font: 700 15px/1 var(--sans); }
.nav-links a.page-numbers:hover { background: var(--rb-blue); color: #fff; border-color: var(--rb-blue); text-decoration: none; }
.nav-links .current { background: var(--rb-navy); color: #fff; border-color: var(--rb-navy); }
.nav-links .dots { border: 0; background: transparent; }

/* ================================================================
   8. SINGLE JOB (parent template, FJA article look)
================================================================ */
.layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 16px; align-items: start; padding-bottom: 20px; }
.layout > main { min-width: 0; }
.job-article { background: #fff; border: 1px solid var(--rb-line); border-radius: 6px; padding: 16px 18px 18px; overflow-x: hidden; }
.job-article h1 {
  margin: 0 0 12px; padding: 10px 14px; background: #DCE5F4; color: #14204D;
  border-left: 5px solid var(--rb-gold); font: 600 28px/1.3 var(--sans); letter-spacing: -.01em;
}
.job-topmeta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; padding: 0 0 10px; margin: 0 0 10px; border-bottom: 1px solid var(--rb-line-2); color: var(--rb-muted); font-size: 14px; }
.job-topmeta b { color: var(--rb-link); }
.verified { display: inline-flex; align-items: center; gap: 4px; background: #E8F6EC; color: #157A3C; border: 1px solid #BFE3CB; border-radius: 999px; font: 700 12.5px/1 var(--sans); padding: 5px 9px; text-transform: none; letter-spacing: 0; }
.verified::before { content: "\2713"; font-weight: 900; }
.appstatus { font: 800 11px/1 var(--sans); letter-spacing: .08em; padding: 5px 8px; border-radius: 4px; color: #fff; background: var(--rb-muted); border: 0; }
.appstatus.open { background: var(--rb-green); color: #fff; }
.appstatus.closed { background: var(--rb-red); color: #fff; }
.appstatus.soon { background: #4C5FD5; color: #fff; }
.job-topmeta .stamp { font-size: 13px; }
.chip-row { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 8px; }
.chip { font: 600 13px/1 var(--sans); padding: 7px 10px; border-radius: 999px; border: 1px solid #CFDAF0; background: #F1F5FD; color: var(--rb-navy); }
.chip:hover { background: var(--rb-blue); color: #fff; border-color: var(--rb-blue); text-decoration: none; }
.hindi-btn { display: inline-block; margin: 2px 0 8px; background: #FFF1E2; color: #A04A08; border: 1px solid #F5CDA8; border-radius: 999px; padding: 7px 14px; font: 700 15px/1 var(--sans); }
.hindi-btn:hover { background: #FF9933; color: #fff; border-color: #FF9933; text-decoration: none; }
.langtabs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 10px 0; }
.langtabs button { border: 1px solid #CFDAF0; background: #fff; color: var(--rb-navy); font: 700 14px var(--sans); padding: 7px 12px; border-radius: 999px; cursor: pointer; }
.langtabs button.on { background: var(--rb-navy); color: #fff; border-color: var(--rb-navy); }
.langtabs .lt-note { flex-basis: 100%; font-size: 12.5px; color: var(--rb-muted); }

.glance { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 10px 0 12px; border: 1px solid #9EB2D3; border-radius: 4px; overflow: hidden; }
.glance .g { padding: 9px 10px; background: #fff; border: 0; border-left: 1px solid #C9D3E3; min-width: 0; text-align: center; }
.glance .g:first-child { border-left: 0; }
.glance .g span { display: block; font: 700 11.5px/1.2 var(--sans); letter-spacing: .06em; text-transform: uppercase; color: #fff; background: var(--rb-steel); margin: -9px -10px 8px; padding: 6px 4px; }
.glance .g b { display: block; font: 800 17px/1.3 var(--sans); color: var(--rb-navy); overflow-wrap: anywhere; }
.glance .g.hot b { color: var(--rb-red); }
.vbox { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin: 0 0 14px; padding: 9px 12px; background: #F2FBF5; border: 1px solid #C3E5CF; border-radius: 6px; font-size: 13.5px; color: var(--rb-muted); }
.vbox .vb-h { font-weight: 800; color: #157A3C; }
.vbox b { color: var(--rb-text); margin-right: 3px; }
.vbox .vb-report { margin-left: auto; color: var(--rb-red); font-weight: 700; }

.toc { margin: 12px 0; padding: 10px 14px; background: #F6F8FC; border: 1px solid var(--rb-line); border-radius: 6px; font-size: 15px; }
.toc b { display: block; margin-bottom: 4px; font: 800 12.5px var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--rb-navy); }
.toc ol { margin: 0; padding-left: 22px; columns: 2; column-gap: 24px; }
.toc li { break-inside: avoid; padding: 2px 0; }
.toc a, .entry-content .toc a, #job-content .toc a { text-decoration: none; }
#job-content .toc a:hover { text-decoration: underline; }

.entry-content { font-size: 17px; line-height: 1.75; overflow-wrap: break-word; color: #222A3A; }
.entry-content p { margin: 10px 0; }
.entry-content h2 { margin: 26px 0 10px; font: 700 23px/1.3 var(--sans); color: #14204D; letter-spacing: -.01em; padding-bottom: 6px; border-bottom: 2px solid var(--rb-line-2); }
#job-content h2::after { content: ""; display: block; width: 56px; height: 3px; background: var(--rb-gold); margin-top: 6px; margin-bottom: -8px; }
.entry-content h3 { font: 700 19px/1.35 var(--sans); color: #14204D; margin: 18px 0 8px; }
.entry-content a { color: var(--rb-link); }
#job-content a, .single .entry-content p a, .page .entry-content p a { text-decoration: underline; text-underline-offset: 2px; }
.entry-content .jump-chips a, .entry-content .tgrid a, .entry-content .ntable a, .entry-content .jrow-title, .entry-content .fr-title, .entry-content .nboard-sec > h2 a { text-decoration: none; }
.entry-content .ntable a:hover, .entry-content .jrow-title:hover, .entry-content .fr-title:hover { text-decoration: underline; }
.entry-content ul, .entry-content ol { padding-left: 24px; }
.entry-content li { margin: 4px 0; }
.ro-intro { font-size: 17.5px; color: #1C2333; }

/* content tables: full borders, bold label column, like classic notification tables */
.tblx { margin: 12px 0 18px; overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: 0; }
.tblx table { margin: 0; }
.entry-content table { width: 100%; border-collapse: collapse; table-layout: auto; margin: 12px 0 18px; font-size: 16px; line-height: 1.5; background: #fff; }
.entry-content th, .entry-content td { border: 1px solid #8FA1C2; padding: 8px 11px; vertical-align: middle; overflow-wrap: anywhere; word-break: normal; hyphens: auto; text-align: left; background: #fff; }
.job-article table th, .job-article table td { overflow-wrap: anywhere; }
.entry-content th { background: var(--rb-teal); color: #fff; font-weight: 700; }
.entry-content tr:first-child th { background: var(--rb-teal); }
.ro-table { box-shadow: none; border-radius: 0; font-size: 16px; }
.ro-table td:first-child { font-weight: 700; color: #14204D; background: #F3F6FC; }
.ro-table td:first-child:nth-last-child(2) { width: 42%; text-align: center; }
.ro-table tr:first-child td:not(:only-child) { font-weight: 700; color: #14204D; background: #E6EDF8; }
.ro-table tr:nth-child(even) td { background: #fff; }
.ro-table tr:nth-child(even) td:first-child { background: #F3F6FC; }
.ro-vacancy td:first-child, .ro-salary td:first-child, .ro-eligibility td:first-child { text-align: left; }
.ro-dates th, .ro-fee th { background: var(--rb-teal); }
.ro-imp-links th { background: #B3261E !important; text-align: center; font-size: 17px; }
.ro-imp-links td:first-child { text-align: left; }
.ro-imp-links td a {
  display: inline-block; background: var(--rb-blue); color: #fff !important; text-decoration: none !important;
  font: 700 15px/1 var(--sans); padding: 9px 16px; border-radius: 6px;
}
.ro-imp-links td a:hover { background: var(--rb-navy); }
.ro-table a { color: var(--rb-link); font-weight: 700; }
.ro-steps { margin: 8px 0 18px; padding-left: 26px; }
.ro-steps li { margin: 7px 0; }
.ro-docs { list-style: none; padding-left: 0; }
.ro-docs li { margin: 0 0 6px; }
.ro-faq-q { position: relative; margin: 12px 0 0; padding: 11px 42px 11px 14px; background: #F2F6FD; border: 1px solid #CFDAF0; border-left: 4px solid var(--rb-blue); border-radius: 6px 6px 0 0; font: 700 17px/1.4 var(--sans); color: #14204D; cursor: pointer; }
.ro-faq-q::after { content: "+"; position: absolute; right: 14px; top: 8px; font-size: 22px; color: var(--rb-blue); }
.ro-faq-q.open::after { content: "\2212"; }
.rb-faqbtn { all: unset; display: block; width: 100%; cursor: pointer; font: inherit; color: inherit; }
.rb-faqbtn:focus-visible { outline: 3px solid var(--rb-gold); outline-offset: 4px; border-radius: 4px; }
.entry-content table caption { caption-side: top; background: var(--rb-teal); color: #fff; font-weight: 700; padding: 9px 11px; text-align: center; border: 1px solid #8FA1C2; border-bottom: 0; }
.ro-imp-links caption { background: #B3261E; font-size: 17px; }
.job-article:has(.ro-hindi) #nrai-hindi-btn[hidden] { display: inline-block !important; }
.ro-faq-a { margin: 0; padding: 10px 14px; border: 1px solid #CFDAF0; border-top: 0; border-radius: 0 0 6px 6px; background: #fff; }
.js .ro-faq-a { display: none; }
.js .ro-faq-q.open + .ro-faq-a { display: block; }
.ro-hindi { margin: 10px 0 18px; padding: 12px 16px 12px 34px; background: #FFF7EC; border: 1px solid #F3DCC0; border-left: 4px solid #FF9933; border-radius: 6px; font-size: 17px; line-height: 1.85; scroll-margin-top: 70px; }
.ro-hindi.flash { box-shadow: 0 0 0 4px rgba(255, 153, 51, .35); }
.ro-lang { margin: 10px 0 18px; padding: 12px 16px 12px 34px; background: #F2F6FD; border: 1px solid #CFDAF0; border-left: 4px solid var(--rb-blue); border-radius: 6px; font-size: 17px; line-height: 1.85; }
.ro-elig { list-style: none; padding: 0; }
.ro-elig li { margin: 0 0 6px; }
.ro-elig label, .ro-docs label { display: flex; gap: 10px; align-items: flex-start; padding: 9px 12px; border: 1px solid var(--rb-line); border-radius: 6px; background: #F8FAFE; cursor: pointer; }
.ro-elig input, .ro-docs input { margin-top: 6px; width: 17px; height: 17px; accent-color: var(--rb-green); }
.chk-bar { margin: 4px 0 18px; padding: 9px 12px; border-radius: 6px; background: var(--rb-gold-bg); color: #8A5A00; font-weight: 700; font-size: 14px; }
.chk-bar.ok { background: #E8F6EC; color: #157A3C; }
.job-thumb { margin: 16px 0; }
.job-thumb img { width: 100%; height: auto; display: block; border-radius: 6px; border: 1px solid var(--rb-line); }

/* scheme band + salary + buttons (parent features) */
.scheme-band { margin: 10px 0 16px; border-radius: 10px; padding: 16px; color: #fff; background: linear-gradient(135deg, var(--rb-navy) 0%, var(--rb-blue) 70%, #B7410E 140%); }
.sb-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px 18px; }
.sb-grid span { display: block; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; opacity: .8; }
.sb-grid b { font-size: 15px; line-height: 1.35; }
.sb-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.sb-tags span { font-size: 12px; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .25); padding: 3px 9px; border-radius: 999px; }
.sb-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.sb-actions a { display: inline-block; padding: 9px 14px; border-radius: 8px; font: 700 14px var(--sans); text-decoration: none; border: 1px solid rgba(255, 255, 255, .35); color: #fff; }
.sb-actions .btn-apply { background: #fff; color: var(--rb-navy); }
.salbox { margin: 10px 0 14px; padding: 12px 14px; border: 1px solid #CFDAF0; border-radius: 8px; background: #F4F7FE; }
.salbox > b { font-size: 15px; color: var(--rb-navy); }
.salbox .sb-sub { font-size: 13px; color: var(--rb-muted); margin-left: 6px; }
.salbox .sb-cities { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 10px 0 8px; }
.salbox .sb-cities > div { background: #fff; border: 1px solid var(--rb-line); border-radius: 6px; padding: 8px 10px; text-align: center; }
.salbox .sb-cities span { display: block; font-size: 11.5px; color: var(--rb-muted); text-transform: uppercase; letter-spacing: .05em; }
.salbox .sb-cities b { display: block; font-size: 18px; color: var(--rb-green); }
.salbox > small { display: block; color: var(--rb-muted); font-size: 12px; line-height: 1.5; }
.btn-row { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0 6px; }
.btn { display: inline-block; text-decoration: none; font: 800 16px/1 var(--sans); border-radius: 8px; padding: 13px 22px; }
.btn:hover { text-decoration: none; }
.btn-apply { background: var(--rb-green); color: #fff; }
.btn-apply:hover { background: #136D30; color: #fff; }
.btn-pdf, .btn-ghost { background: #fff; color: var(--rb-navy); border: 2px solid var(--rb-navy); }
.btn-pdf:hover, .btn-ghost:hover { background: var(--rb-navy); color: #fff; }
.btn-cal { border-color: #4C5FD5; color: #4C5FD5; }
.btn[aria-disabled=true] { background: #A9B2CC; pointer-events: none; }
.expired-note { background: #FDEFEE; border: 1px solid #F0B2AD; color: var(--rb-red); border-radius: 6px; padding: 10px 14px; font-weight: 700; margin: 12px 0; }

/* after-content blocks */
.join-block { margin: 18px 0 6px; padding: 14px 16px; background: #F1F8F4; border: 1px solid #C3E5CF; border-radius: 10px; }
.join-block b { display: block; margin-bottom: 9px; font-size: 16px; color: #14204D; }
.report { margin: 14px 0 0; font-size: 14px; }
.report summary { cursor: pointer; color: var(--rb-muted); font-weight: 600; }
.report-form { display: grid; gap: 8px; max-width: 480px; margin-top: 8px; }
.report-form select, .report-form textarea { font: 15px var(--sans); padding: 9px 10px; border: 1px solid var(--rb-line); border-radius: 6px; }
.report-form button { justify-self: start; background: var(--rb-navy); color: #fff; border: 0; border-radius: 6px; padding: 9px 16px; font-weight: 700; cursor: pointer; }
.report-msg { color: var(--rb-green); font-weight: 700; }
.src-line { margin: 14px 0 0; padding-top: 10px; border-top: 1px solid var(--rb-line-2); font-size: 13.5px; color: var(--rb-muted); }
.agecalc { margin: 14px 0 6px; padding: 12px 14px; border: 1px dashed #9EB2D3; border-radius: 8px; background: #F6F8FC; }
.agecalc b { display: block; font-size: 15px; margin-bottom: 6px; color: var(--rb-navy); }
.ac-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.ac-row label { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--rb-muted); }
.ac-dob { font: 15px var(--sans); padding: 7px 9px; border: 1px solid var(--rb-line); border-radius: 6px; }
.ac-out { font-size: 15px; font-weight: 700; }
.ac-out.ok { color: var(--rb-green); }
.ac-out.no { color: var(--rb-red); }
.ac-asof { font-weight: 600; color: var(--rb-muted); font-size: 13px; }
.agecalc small { display: block; margin-top: 6px; color: var(--rb-muted); font-size: 12.5px; }
.share-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 4px; }
.sh { display: inline-block; border: 0; cursor: pointer; color: #fff; font: 700 14px/1 var(--sans); padding: 11px 16px; border-radius: 8px; text-decoration: none; }
.sh:hover { color: #fff; text-decoration: none; filter: brightness(1.08); }
.sh-wa { background: var(--rb-wa); }
.sh-tg { background: var(--rb-tg); }
.sh-cp { background: #46566F; }
.sh-sv { background: var(--rb-gold-2); }
.sh-sv.saved { background: var(--rb-green); }
.related { margin-top: 16px; }
.related h2, .pas h2 { margin: 0 0 8px; font: 700 20px/1.3 var(--sans); color: #fff; background: var(--rb-steel); padding: 8px 12px; border-radius: 4px 4px 0 0; border-bottom: 3px solid var(--rb-gold); }
.related .list-box { border-radius: 0 0 6px 6px; margin-top: -8px; }
.related .jrow-title { font-size: 16px; }
.pas { margin-top: 16px; background: #fff; border: 1px solid var(--rb-line); border-radius: 6px; padding: 0 0 12px; }
.pas h2 { border-radius: 6px 6px 0 0; }
.tgrid { display: flex; flex-wrap: wrap; gap: 6px; }
.pas .tgrid { padding: 4px 12px 0; }
.tgrid a { display: inline-block; background: #EEF3FC; color: var(--rb-navy); border: 1px solid #D3DEF2; border-radius: 6px; padding: 7px 11px; font: 600 14px/1.2 var(--sans); }
.tgrid a:hover { background: var(--rb-blue); color: #fff; border-color: var(--rb-blue); text-decoration: none; }
.tcount { color: var(--rb-muted); font-size: .85em; }
.author-box { display: flex; gap: 14px; align-items: flex-start; margin-top: 16px; padding: 14px 16px; background: #fff; border: 1px solid var(--rb-line); border-left: 4px solid var(--rb-gold); border-radius: 6px; }
.ab-img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; border: 2px solid var(--rb-line); }
.ab-label { font: 800 11px var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--rb-muted); }
.ab-name { margin: 2px 0; font: 800 18px/1.3 var(--sans); color: #14204D; }
.ab-role { font-size: 13px; color: var(--rb-gold-2); font-weight: 700; }
.ab-bio { margin: 6px 0 0; font-size: 14.5px; color: #3A4458; line-height: 1.65; }
.thread { margin-top: 16px; background: #fff; border: 1px solid var(--rb-line); border-radius: 6px; padding: 14px 16px; }
.thread h2 { margin: 0 0 4px; font: 800 18px var(--sans); color: #14204D; }
.thread-sub { margin: 0 0 10px; font-size: 13.5px; color: var(--rb-muted); }
.thread-list { list-style: none; margin: 0; padding: 0; border-left: 2px dashed var(--rb-line); }
.thread-list li { position: relative; padding: 8px 0 8px 18px; display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; }
.thread-list li::before { content: ""; position: absolute; left: -6px; top: 15px; width: 10px; height: 10px; border-radius: 50%; background: var(--rb-line); border: 2px solid #fff; }
.thread-list li.is-now::before { background: var(--rb-gold); }
.th-stage { font: 800 10.5px var(--sans); letter-spacing: .06em; text-transform: uppercase; color: var(--rb-muted); background: #F1F3F9; border: 1px solid var(--rb-line); padding: 2px 7px; border-radius: 4px; min-width: 84px; text-align: center; }
.thread-list li.is-now .th-stage { background: var(--rb-gold-bg); border-color: #F3D48A; color: #8A5A00; }
.th-title { flex: 1 1 240px; font-size: 15px; font-weight: 600; }
.th-date { color: var(--rb-muted); font-size: 12.5px; }
.thread-all { display: inline-block; margin-top: 10px; font-weight: 700; }
.embed-box { margin: 16px 0 0; font-size: 13.5px; }
.embed-box summary { cursor: pointer; font-weight: 700; color: var(--rb-muted); }
.embed-box textarea { width: 100%; font: 12px/1.4 ui-monospace, Menlo, monospace; padding: 8px; border: 1px solid var(--rb-line); border-radius: 6px; margin-top: 6px; }

/* right rail on job pages */
.layout > aside { min-width: 0; }
.rail-box { background: #fff; border: 1px solid var(--rb-line); border-radius: 10px; margin-bottom: 14px; overflow: hidden; }
.rail-box > h2 { margin: 0; padding: 11px 14px; background: linear-gradient(90deg, #1749AE, #2E6AB3); color: #fff; font: 800 15px/1.2 var(--sans); letter-spacing: .04em; text-transform: uppercase; }
.rail-box .jrow { padding: 9px 14px; }
.rail-box .jrow-title { font-size: 15px; font-weight: 600; }
.rail-box .tgrid { padding: 12px 14px; }

/* ================================================================
   9. BOARD PAGES (notice board, last date, finder, tools, stats)
================================================================ */
.job-article > .entry-content:only-of-type { font-size: 16px; }
.board-filter { display: flex; align-items: center; gap: 12px; margin: 4px 0 12px; }
.bfilter { flex: 1; max-width: 520px; padding: 11px 14px; font: 15px var(--sans); border: 2px solid var(--rb-line); border-radius: 8px; background: #fff; min-width: 0; }
.bfilter:focus { outline: none; border-color: var(--rb-blue); }
.bcount { color: var(--rb-muted); font-size: 13.5px; white-space: nowrap; }
.nb-label { display: block; margin: 12px 0 5px; font: 800 12px var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--rb-muted); }
.jump-chips { display: flex; flex-wrap: wrap; gap: 5px; margin: 8px 0 12px; }
.jump-chips a, .nboard .jump-chips a, .nboard .grp-state .jump-chips a { background: var(--rb-blue); color: #fff; font: 700 14px/1 var(--sans); padding: 8px 10px; border-radius: 6px; }
.jump-chips a:hover, .nboard .jump-chips a:hover { background: var(--rb-navy); color: #fff; text-decoration: none; }
.nboard-sec { margin: 18px 0 6px; scroll-margin-top: 16px; }
.nboard-sec > h2, .nboard-sec.grp-state > h2 {
  display: flex; align-items: center; gap: 10px; margin: 0 0 8px; padding: 0; background: transparent; border: 0;
  font: 800 25px/1.25 var(--sans); color: #1B1B7A;
}
.nboard-sec > h2::before { display: none; }
.nboard-sec > h2 a { color: #1B1B7A; }
.sec-n { margin-left: auto; font: 700 12.5px var(--sans); color: var(--rb-muted); background: #fff; border: 1px solid var(--rb-line); padding: 3px 9px; border-radius: 999px; }
.ntable-wrap, .nboard .ntable-wrap { overflow-x: auto; border: 2px solid var(--rb-teal); border-radius: 2px; background: #fff; }
.ntable-wrap .ntable, .entry-content .ntable-wrap table { margin: 0; }
.ntable { width: 100%; border-collapse: collapse; font-size: 15px; }
.ntable th, .nboard .ntable th { background: var(--rb-teal); color: #fff; text-align: center; padding: 10px 8px; font: 700 15px/1.25 var(--sans); letter-spacing: 0; text-transform: none; border: 1px solid #2B7E92; }
.ntable td, .nboard .ntable td { padding: 7px 8px; border: 1px solid #C9D3E3; vertical-align: middle; color: #1C2333; font-size: 15px; }
.ntable tbody tr:nth-child(even) td, .nboard .ntable tbody tr:nth-child(even) td { background: var(--rb-zebra); }
.ntable tbody tr:hover td, .nboard .ntable tbody tr:hover td { background: #EAF1FF; }
.ntable .nt-title a, .nboard .ntable .nt-title a { color: var(--rb-link); font-weight: 700; font-size: 15.5px; line-height: 1.35; }
.ntable .nt-p, .nboard .ntable .nt-p { font-weight: 800; color: #9A5409; }
.ntable .stamp { font-size: 13px; }
.nboard .ntable th:nth-child(1), .nboard .ntable td:nth-child(1) { width: 92px; }
.nboard .ntable td:nth-child(1) { color: #23314F; font-size: 14px; }
.nboard .ntable th:nth-child(2), .nboard .ntable td:nth-child(2) { width: 150px; }
.nboard .ntable td:nth-child(2) { font-weight: 700; font-size: 14px; color: #23314F; white-space: normal; }
.nboard .ntable th:nth-child(4), .nboard .ntable td:nth-child(4) { width: 76px; text-align: center; }
.nboard .ntable th:nth-child(5), .nboard .ntable td:nth-child(5) { width: 180px; }
.nboard .ntable td:nth-child(5) { color: #3A4458; font-size: 14px; white-space: normal; }
.nboard .ntable th { color: #fff !important; }
.nboard .ntable th:last-child, .nboard .ntable td:last-child { width: 150px; }
.nboard-more { display: inline-block; margin: 8px 0 0; font: 700 14.5px var(--sans); color: var(--rb-blue); }
.nb-empty { margin: 0; padding: 10px 14px; background: #fff; border: 1px dashed var(--rb-line); border-radius: 6px; color: var(--rb-muted); font-size: 14px; }
.closing-page .cp-sec { margin: 0 0 16px; background: #fff; border: 1px solid var(--rb-line); border-radius: 6px; overflow: hidden; }
.closing-page .cp-sec > h2 { margin: 0; padding: 10px 14px; background: #141B3D; color: #fff; font: 800 19px/1.2 var(--sans); }
.closing-page .cp-today > h2 { background: var(--rb-red); }
.closing-page .cp-tomorrow > h2 { background: #C2410C; }
.closing-page .cp-count { margin-left: 8px; background: rgba(255, 255, 255, .2); padding: 3px 10px; border-radius: 999px; font-size: 13px; }
.closing-page .jrow { padding: 9px 14px; }
.org-cols { list-style: none; margin: 0; padding: 0; columns: 3; column-gap: 28px; }
.org-cols li { break-inside: avoid; padding: 7px 0; border-bottom: 1px dashed var(--rb-line); }

/* job finder */
.finder { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 16px; align-items: start; }
.fside { position: sticky; top: 10px; max-height: calc(100vh - 20px); overflow-y: auto; background: #fff; border: 1px solid var(--rb-line); border-radius: 8px; padding: 12px; }
.fside-head { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.fside-head b { margin-right: auto; font-size: 16px; color: var(--rb-navy); }
.fclear, .fclose { border: 1px solid var(--rb-line); background: #fff; cursor: pointer; border-radius: 6px; font: 700 13px var(--sans); color: var(--rb-muted); padding: 6px 10px; }
.fclose { display: none; background: var(--rb-navy); color: #fff; border-color: var(--rb-navy); }
.fsearch { width: 100%; padding: 10px 12px; font: 15px var(--sans); border: 2px solid var(--rb-line); border-radius: 8px; margin-bottom: 10px; }
.fgroup { border-top: 1px solid var(--rb-line-2); padding: 9px 0; }
.fgroup summary { cursor: pointer; list-style: none; position: relative; font: 800 13.5px var(--sans); letter-spacing: .04em; text-transform: uppercase; color: var(--rb-navy); }
.fgroup summary::-webkit-details-marker { display: none; }
.fgroup summary::after { content: "+"; position: absolute; right: 2px; color: var(--rb-muted); }
.fgroup[open] summary::after { content: "\2212"; }
.fgroup ul { list-style: none; margin: 9px 0 0; padding: 0; max-height: 240px; overflow-y: auto; }
.fgroup li { padding: 3px 0; }
.fgroup li.fzero { opacity: .45; }
.fgroup label { display: flex; align-items: center; gap: 8px; font-size: 15px; cursor: pointer; }
.fgroup input[type=checkbox] { width: 17px; height: 17px; accent-color: var(--rb-blue); }
.fgroup .ftxt { flex: 1; }
.fgroup .fcount { color: var(--rb-muted); font-size: 12.5px; }
.fhead { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.fh-left { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.fnum-wrap { font-size: 15px; color: var(--rb-muted); }
.fnum { font-size: 19px; color: var(--rb-navy); font-weight: 800; }
.fchips { display: flex; flex-wrap: wrap; gap: 6px; }
.fchip { display: inline-flex; align-items: center; gap: 6px; background: #EEF3FC; border: 1px solid #D3DEF2; border-radius: 999px; font: 700 13px var(--sans); padding: 5px 10px; cursor: pointer; }
.fchip::after { content: "\00D7"; font-weight: 900; }
.fsort { font-size: 14px; color: var(--rb-muted); }
.fsort select { font: 600 14px var(--sans); padding: 8px 10px; border: 2px solid var(--rb-line); border-radius: 8px; background: #fff; }
.fresults { display: flex; flex-direction: column; gap: 8px; }
.fr-row { background: #fff; border: 1px solid var(--rb-line); border-left: 4px solid var(--rb-blue); border-radius: 6px; padding: 10px 14px; content-visibility: auto; contain-intrinsic-size: 86px; }
.fr-title { display: block; color: var(--rb-link); font: 700 16px/1.4 var(--sans); }
.fr-title:visited { color: var(--rb-visited); }
.fr-meta { display: flex; flex-wrap: wrap; gap: 6px 12px; margin-top: 5px; align-items: center; color: var(--rb-muted); font-size: 13.5px; }
.fr-org { font: 800 12px var(--sans); letter-spacing: .04em; text-transform: uppercase; color: var(--rb-navy); }
.fmore { display: block; margin: 14px auto 0; background: var(--rb-gold); color: var(--rb-navy-2); border: 0; border-radius: 999px; padding: 11px 26px; font: 800 15px var(--sans); cursor: pointer; }
.finder-bar { display: none; }

/* tools, statistics and simple pages */
.tools .tool { border: 1px solid var(--rb-line) !important; border-top: 4px solid var(--rb-steel) !important; border-radius: 8px !important; }
.tools button { background: var(--rb-navy) !important; }
.tools button.alt { background: var(--rb-gold-2) !important; }
.stats .bar-f { background: linear-gradient(90deg, var(--rb-blue), var(--rb-gold)) !important; }
.stats-lead { font-size: 16px; }
.html-sitemap ul { columns: 3; }
.daily-nav { margin: 16px 0; font-weight: 700; }
.saved-page .jlist { background: #fff; border: 1px solid var(--rb-line); border-radius: 6px; }
.sv-rm { border: 1px solid var(--rb-line); background: #fff; color: var(--rb-muted); cursor: pointer; font: 700 12px var(--sans); padding: 4px 10px; border-radius: 6px; }

/* typeahead, push prompt, back to top */
.sugg { display: none; position: absolute; left: 0; right: 0; top: 100%; z-index: 120; background: #fff; border: 1px solid var(--rb-line); border-radius: 0 0 8px 8px; box-shadow: 0 14px 30px -10px rgba(12, 24, 69, .4); text-align: left; }
.sugg.show { display: block; }
.sugg a { display: flex; justify-content: space-between; gap: 10px; align-items: center; padding: 10px 12px; color: var(--rb-text); font-size: 14.5px; border-bottom: 1px solid #F0F2F7; text-decoration: none; }
.sugg a:hover { background: #F2F6FD; }
.sugg .sg-k { font: 800 10px var(--sans); letter-spacing: .05em; text-transform: uppercase; color: #fff; background: var(--rb-steel); padding: 3px 6px; border-radius: 4px; }
.sugg .sg-all { color: var(--rb-blue); font-weight: 700; justify-content: center; border-bottom: 0; }
.push-bar { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 95; max-width: 620px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 12px; background: var(--rb-navy); color: #fff; box-shadow: 0 12px 34px -12px rgba(12, 24, 69, .6); transform: translateY(140%); transition: transform .2s ease; }
.push-bar.show { transform: translateY(0); }
.push-bar span { flex: 1 1 200px; font-size: 14.5px; }
.pb-yes, .pb-no { border: 0; cursor: pointer; font: 700 14px var(--sans); padding: 9px 14px; border-radius: 8px; }
.pb-yes { background: var(--rb-gold); color: var(--rb-navy-2); }
.pb-no { background: transparent; color: #C9D3F0; }
.to-top { position: fixed; right: 14px; bottom: 20px; z-index: 55; width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--rb-navy); color: #fff; font: 800 14px var(--sans); cursor: pointer; opacity: 0; pointer-events: none; transition: opacity .15s ease; }
.to-top.show { opacity: 1; pointer-events: auto; }
.feed-tabs { display: flex; gap: 6px; margin: 4px 0 10px; }
.feed-tabs a { flex: 1; text-align: center; background: #EEF3FC; border: 1px solid #D3DEF2; color: var(--rb-navy); font: 700 15px var(--sans); padding: 10px 8px; border-radius: 6px; }
.feed-tabs a.on { background: var(--rb-navy); color: #fff; border-color: var(--rb-navy); }
.feed-pane { display: none; }
.feed-pane.show { display: block; }

/* old home blocks if the parent prints them anywhere */
.board-box { background: #fff; border: 1px solid var(--rb-line); border-radius: 6px; overflow: hidden; }
.board-box > h2 { margin: 0; padding: 9px 12px; background: var(--rb-steel); color: #fff; font: 700 16px/1.25 var(--sans); }
.board-box .more { display: block; text-align: center; padding: 9px; font-weight: 700; }
.ticker { display: none; }

/* ================================================================
   9b. PARENT COMPATIBILITY (pieces printed by ro-theme / ro-core)
================================================================ */
.chip-org { background: #EAF1FF; border-color: #C9D8F5; }
.chip-state { background: #EAF6EF; border-color: #C3E5CF; color: #145C33; }
.ntable .nowrap { white-space: nowrap; }
.ntable .nt-posts { font-weight: 800; color: #9A5409; font-size: 15px; }
.nboard-states { margin: 6px 0 10px; }
.saved-page .saved-empty { color: var(--rb-muted); }
.daily .nboard-sec { margin-top: 16px; }
.verified-line { margin: 8px 0 0; font-size: 13px; color: var(--rb-muted); }
.schemecats a { background: var(--rb-gold-bg); border-color: #F3D48A; }
.schemecats .tcount { margin-left: 4px; color: var(--rb-muted); font-size: 12px; }
.closing-strip { background: #FFF4EE; border: 1px solid #F6D5C2; border-radius: 8px; padding: 12px 14px; }
.closing-strip .jlist { columns: 2; column-gap: 24px; }
.closing-strip .jrow { break-inside: avoid; }
.jgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.jcard { background: #fff; border: 1px solid var(--rb-line); border-left: 4px solid var(--rb-blue); border-radius: 6px; padding: 10px 12px; }
.jcard-top { display: flex; justify-content: space-between; gap: 6px 10px; align-items: flex-start; margin-bottom: 6px; flex-wrap: wrap; }
.jcard-org { font: 800 12px var(--sans); letter-spacing: .04em; text-transform: uppercase; color: var(--rb-navy); }
.jc-state { background: #F1F3F9; border: 1px solid var(--rb-line); border-radius: 5px; padding: 1px 7px; font-size: 11.5px; color: var(--rb-muted); }
.jcard-title { margin: 0 0 6px; font: 700 16px/1.4 var(--sans); }
.jcard-title a { color: var(--rb-link); }
.jcard-meta { display: flex; gap: 10px; flex-wrap: wrap; color: var(--rb-muted); font-size: 13px; }
.is-expired { opacity: .62; }
.bars { display: flex; flex-direction: column; gap: 6px; }
.bar { display: grid; grid-template-columns: 170px 1fr 150px; gap: 10px; align-items: center; color: var(--rb-text); font-size: 14.5px; }
.bar:hover { text-decoration: none; color: var(--rb-blue); }
.bar-t { height: 14px; background: #EEF1F7; border-radius: 4px; overflow: hidden; }
.bar-f { display: block; height: 100%; background: linear-gradient(90deg, var(--rb-blue), var(--rb-gold)); border-radius: 4px; }
.bar-v { text-align: right; font-size: 13.5px; }
.bar-v small { color: var(--rb-muted); }
.stats h2 { font-size: 20px; margin: 22px 0 10px; }
.stats-note { margin-top: 18px; font-size: 13px; color: var(--rb-muted); }
@media (max-width: 640px) {
  .bar { grid-template-columns: 1fr; gap: 3px; padding-bottom: 6px; }
  .bar-v { text-align: left; }
  .closing-strip .jlist { columns: 1; }
}

/* band under job pages */
.rb-band { display: flex; flex-direction: column; gap: 14px; margin: 4px 0 6px; }
.rb-band .board-box.rb-bx > h2 { font-size: 19px; }
.rb-band .rb-bandlinks { padding-bottom: 12px; }

/* most viewed: numbered ranking */
.rb-rank { counter-reset: rbr; list-style: none; padding-left: 12px; }
.rb-rank li { counter-increment: rbr; position: relative; padding-left: 34px; }
.rb-rank li::before {
  content: counter(rbr); position: absolute; left: 0; top: 6px; width: 24px; height: 24px; border-radius: 50%;
  background: var(--rb-navy); color: #fff; font: 800 12.5px/24px var(--sans); text-align: center;
}
.rb-rank li:nth-child(-n+3)::before { background: var(--rb-gold); color: var(--rb-navy-2); }

/* optional manual ad slots */
.rb-ad { text-align: center; min-height: 90px; margin: 0 auto; overflow: hidden; }
.rb-ad-l { display: block; font: 600 11px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: #686F7F; margin: 0 0 6px; }
.rb-ad-wide { max-width: var(--rb-maxw); padding: 10px 14px 0; }
.rb-ad-article { margin: 18px 0; }
.rb-ad-bottom { margin: 16px 0 0; }

/* 404 */
.rb-404 { display: flex; flex-direction: column; gap: 14px; }
.err-404 { background: #fff; border: 1px solid var(--rb-line); border-top: 4px solid var(--rb-gold); border-radius: 8px; padding: 26px 18px; text-align: center; }
.err-404 .mono { font: 900 76px/1 var(--sans); color: #C9D3E3; letter-spacing: .02em; }
.err-404 h1 { margin: 8px 0 6px; font: 800 24px/1.3 var(--sans); color: var(--rb-navy); }
.err-404 p { margin: 0 auto 14px; max-width: 620px; color: var(--rb-muted); }
.rb-404-search { display: flex; max-width: 520px; margin: 0 auto 14px; }
.rb-404-search input { flex: 1; min-width: 0; padding: 11px 14px; font: 15px var(--sans); border: 2px solid var(--rb-line); border-right: 0; border-radius: 8px 0 0 8px; }
.rb-404-search button { border: 0; background: var(--rb-gold); color: var(--rb-navy-2); font: 800 15px var(--sans); padding: 0 18px; border-radius: 0 8px 8px 0; cursor: pointer; }
.rb-404-pills { justify-content: center; }

/* ================================================================
   10. FOOTER
================================================================ */
.rb-foot { margin-top: 26px; background: var(--rb-navy-2); color: #C9D3F0; }
.rb-fbrand { background: linear-gradient(90deg, var(--rb-navy-3), var(--rb-navy)); border-top: 4px solid var(--rb-gold); }
.rb-fin { max-width: var(--rb-maxw); margin: 0 auto; padding: 18px 14px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px 24px; align-items: center; }
.rb-flogo { display: flex; align-items: center; gap: 12px; color: #fff; }
.rb-flogo:hover { text-decoration: none; color: #fff; }
.rb-flogo .logo-mark { width: 72px; height: 72px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 3px var(--rb-gold); }
.rb-flogo b { display: block; font: 800 25px/1.1 var(--sans); }
.rb-flogo b em { font-style: normal; color: var(--rb-gold); }
.rb-flogo small { display: block; margin-top: 4px; font-size: 13px; color: #C9D3F0; }
.rb-fabout { margin: 0; font-size: 14px; line-height: 1.65; color: #DCE4FB; }
.rb-social { display: flex; gap: 8px; }
.rb-so { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(255, 255, 255, .12); color: #fff; }
.rb-so:hover { background: var(--rb-gold); color: var(--rb-navy-2); }
.rb-so .rb-ic { width: 20px; height: 20px; }
.rb-foot .foot-in { max-width: var(--rb-maxw); margin: 0 auto; padding: 22px 14px 18px; }
.rb-foot .foot-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
.rb-foot .foot-grid h2 { margin: 0 0 8px; color: var(--rb-gold); font: 800 14px var(--sans); letter-spacing: .08em; text-transform: uppercase; }
.rb-foot .foot-grid ul { list-style: none; margin: 0; padding: 0; }
.rb-foot .foot-grid a { color: #DCE4FB; font-size: 14.5px; line-height: 2; }
.rb-foot .foot-grid a:hover { color: #fff; }
.rb-foot .foot-join { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 20px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .12); }
.rb-foot .foot-join b { color: #fff; font-size: 15px; }
.rb-fdisc { margin: 14px 0 0; font-size: 13px; line-height: 1.6; color: #AEB9DA; }
.rb-foot .foot-base { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 13px; }
.rb-foot .foot-base a { color: #DCE4FB; }

/* ================================================================
   11. RESPONSIVE
================================================================ */
@media (max-width: 1279px) {
  .rb-pills { gap: 3px; }
  .rb-pills a, .rb-pills summary { font-size: 14px; padding: 7px 9px; }
}
@media (max-width: 1180px) {
  .rb-logo .logo-name { font-size: 27px; }
  .rb-logo .logo-tag { font-size: 14px; }
  .rb-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rb-foot .foot-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1100px) {
  .head-actions .join-row { display: none; }
  .rb-pills a, .rb-pills summary { font-size: 13.5px; padding: 7px 7px; }
  .rb-states a { min-width: 36px; }
}
@media (max-width: 1023px) {
  .rb-shell.has-left { display: block; }
  .rb-left { display: none; }
  .layout { grid-template-columns: 1fr; }
  .rb-fin { grid-template-columns: 1fr; }
}
@media (max-width: 980px) {
  .finder { grid-template-columns: 1fr; }
  .fside { position: fixed; inset: 0; z-index: 90; border-radius: 0; max-height: none; transform: translateY(102%); transition: transform .2s ease; padding-bottom: 40px; }
  .fside.open { transform: translateY(0); }
  .fclose { display: inline-block; }
  .finder-bar { display: flex; align-items: center; gap: 12px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 80; background: #fff; border-top: 1px solid var(--rb-line); padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); }
  .fb-filter { border: 0; background: var(--rb-navy); color: #fff; font: 800 15px var(--sans); padding: 12px 20px; border-radius: 8px; cursor: pointer; }
  .fb-n:not(:empty) { background: var(--rb-gold); color: var(--rb-navy-2); border-radius: 999px; padding: 1px 8px; margin-left: 8px; font-size: 12px; }
  .fb-count { color: var(--rb-muted); font-size: 14px; }
  body.finder-page { padding-bottom: 70px; }
}
@media (max-width: 900px) {
  .board3 { grid-template-columns: 1fr; }
  .rb-cols3 { columns: 2; }
}

/* tablets and phones: drop-down buttons instead of three rows of pills */
@media (max-width: 1023px) {
  .rb-nav { display: none; }
  .rb-mnav { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 10px 4px; background: #fff; position: relative; }
  .rb-mnav .rb-dd { position: static; }
  .rb-mnav { flex-wrap: nowrap; }
  .rb-mnav > a, .rb-mnav > details { flex: 1 1 auto; }
  .rb-mb, .rb-mnav summary.rb-mb {
    display: flex; align-items: center; justify-content: center; background: var(--rb-blue); color: #fff; font: 700 15px/1 var(--sans);
    padding: 10px 8px; border-radius: 7px; text-decoration: none; cursor: pointer; white-space: nowrap;
  }
  .rb-mnav > a.rb-mb { background: var(--rb-navy); }
  .rb-mnav .rb-dd-panel { left: 8px; right: 8px; width: auto; top: calc(100% + 2px); grid-template-columns: 1fr 1fr; }
  .rb-quick { display: flex; gap: 6px; overflow-x: auto; padding: 4px 10px 9px; background: #fff; border-bottom: 1px solid var(--rb-line); scrollbar-width: none; }
  .rb-quick::-webkit-scrollbar { display: none; }
  .rb-quick a { flex: 0 0 auto; background: #EEF3FC; color: var(--rb-navy); border: 1px solid #D3DEF2; font: 700 13.5px/1 var(--sans); padding: 8px 11px; border-radius: 999px; }
  .rb-quick a.hot { background: var(--rb-red); color: #fff; border-color: var(--rb-red); }
  .rb-mnav { max-width: var(--rb-maxw); margin: 0 auto; }
  .rb-mnav .rb-dd-panel { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
}

/* phones and small tablets: compact header, drop-down buttons */
@media (max-width: 860px) {
  .rb-head .head-in { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "brand act" "search search"; gap: 8px 8px; padding: 8px 10px 10px; }
  .rb-logo { grid-area: brand; gap: 9px; min-width: 0; }
  .rb-logo > span { min-width: 0; }
  .rb-logo .logo-name { overflow: hidden; text-overflow: ellipsis; }
  .rb-logo .logo-mark { width: 44px; height: 44px; box-shadow: 0 0 0 2px var(--rb-gold); }
  .rb-logo .logo-name { font-size: 22px; }
  .rb-logo .logo-tag { font-size: 11.5px; margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .rb-logo .logo-tag i { padding: 0 4px; }
  .rb-head .head-search { grid-area: search; margin: 0; flex: none; min-width: 0; }
  .rb-head .head-search input[type=search] { padding: 10px 12px; font-size: 15px; }
  .rb-head .head-search button { padding: 0 12px; }
  .rb-head .head-search button span { display: none; }
  .head-actions { grid-area: act; }
  .head-actions .join-row { display: none; }
  .head-actions { gap: 6px; }
  .install-btn, .alert-btn { width: 36px; height: 36px; padding: 0; font-size: 0; display: grid; place-items: center; }
  .install-btn[hidden], .alert-btn[hidden] { display: none; }
  .alert-btn::before { font-size: 16px; margin: 0; }
  .install-btn::before { content: ""; width: 18px; height: 18px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M11 3h2v9.2l3.3-3.3 1.4 1.4L12 16l-5.7-5.7 1.4-1.4 3.3 3.3zM5 18h14v2H5z'/%3E%3C/svg%3E") center / contain no-repeat; }
  .alert-btn .ab-txt { display: none; }
  .alert-btn::before { margin: 0; }

  .rb-notice { font-size: 12.5px; padding: 7px 12px 0; }

  .rb-shell { padding: 10px 10px 0; }
  .rb-home { gap: 12px; }
  .rb-hero { padding: 10px 12px; }
  .rb-hero h1 { font-size: 17px; }
  .rb-live { font-size: 12.5px; gap: 2px 10px; }
  .rb-live b { font-size: 14px; }
  .rb-live .rb-date { display: none; }
  .strip-right { width: 100%; }
  .state-pick { width: 100%; min-width: 0; }
  .state-pick select { flex: 1 1 auto; min-width: 0; width: 100%; max-width: 100%; }
  .rb-actions { gap: 8px; }
  .rb-act { padding: 9px 10px; gap: 8px; }
  .rb-act .rb-ic { width: 26px; height: 26px; }
  .rb-act b { font-size: 14px; }
  .rb-act small { font-size: 11.5px; }
  .rb-duo { grid-template-columns: 1fr; gap: 12px; }
  .rb-card { padding: 10px; }
  .rb-ch { font-size: 17px; padding: 9px 12px; }
  .rb-card li { font-size: 15px; padding: 8px 2px; }
  .rb-bh { font-size: 21px; }
  .board-box.rb-bx > h2 { font-size: 20px; }
  .rb-cols3, .rb-cols2 { columns: 1; }
  .rb-cols3 li, .rb-cols2 li, .rb-ul li { font-size: 15.5px; }
  .rb-tgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rb-tile { min-height: 100px; padding: 9px 10px; }
  .rb-tile b { font-size: 24px; }
  .rb-tt { font-size: 15px; }
  .rb-bgrid { grid-template-columns: 1fr; }
  .rb-combos { columns: 2; column-gap: 12px; }
  .rb-combos li { font-size: 14px; }
  .rb-fyh b { font-size: 16px; }
  .rb-bell { flex-basis: 40px; height: 40px; }
  .fy-form select { flex-basis: 100%; }
  .fy-form button { width: 100%; }

  /* mobile order: core lists right after the urgent cards */
  .rb-s-hero { order: 10; }
  .rb-s-actions { order: 20; }
  .rb-s-duo { order: 30; }
  .rb-s-main { order: 40; }
  .rb-s-tiles { order: 50; }
  .rb-s-ad1 { order: 55; }
  .rb-s-ldbar { order: 60; }
  .rb-s-foryou { order: 70; }
  .rb-s-newup { order: 80; }
  .rb-s-sub { order: 90; }
  .rb-s-trending { order: 95; }
  .rb-s-ad2 { order: 100; }
  .rb-s-quals { order: 110; }
  .rb-s-states { order: 120; }
  .rb-s-trend { order: 130; }
  .rb-s-browse { order: 140; }
  .rb-s-more { order: 150; }
  .rb-s-about { order: 160; }

  .rb-band .board3 { gap: 12px; }

  .crumbs { font-size: 12.5px; }
  .arch-head h1 { font-size: 20px; padding: 8px 12px; }
  .arch-head .intro { font-size: 14px; }
  .list-box .jrow { padding: 9px 12px; }
  .jrow-title { font-size: 15.5px; }
  .jr-q { display: none; }
  .job-article { padding: 12px; border-radius: 4px; }
  .job-article h1 { font-size: 21px; padding: 8px 11px; }
  .job-topmeta { font-size: 13px; gap: 6px 10px; }
  .job-topmeta .stamp { flex: 1 1 100%; text-align: left; font-size: 13.5px; padding: 5px 9px; }
  .glance { grid-template-columns: 1fr 1fr; }
  .glance .g:nth-child(3) { border-left: 0; }
  .glance .g:nth-child(n+3) { border-top: 1px solid #C9D3E3; }
  .entry-content { font-size: 16px; line-height: 1.7; }
  .entry-content h2 { font-size: 20px; }
  .entry-content th, .entry-content td { padding: 7px 8px; font-size: 15px; }
  .ro-table td:first-child:nth-last-child(2) { width: 40%; }
  .toc ol { columns: 1; }
  .vbox { font-size: 12.5px; gap: 4px 12px; }
  .vbox .vb-report { margin-left: 0; }
  .salbox .sb-cities { grid-template-columns: 1fr; }
  .join-lg .join { flex: 1; justify-content: center; font-size: 14px; padding: 10px; }
  .sh { flex: 1 1 40%; text-align: center; }
  .author-box { gap: 10px; padding: 12px; }
  .ab-img { width: 56px; height: 56px; }
  .nboard-sec > h2 { font-size: 20px; }
  .rb-foot .foot-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
  .rb-flogo b { font-size: 21px; }
  .rb-flogo .logo-mark { width: 56px; height: 56px; }
}

/* phones: tabs, collapsible boxes and notice-board accordion. 760px is
   the width at which the parent nrai.js switches these on, so CSS and
   script always agree. */
@media (max-width: 760px) {
  .mtabs { display: flex; gap: 6px; margin-bottom: -6px; }
  .mtabs button { flex: 1; border: 1px solid #9EB2D3; background: #fff; color: var(--rb-navy); font: 700 14.5px var(--sans); padding: 10px 4px; border-radius: 8px 8px 0 0; cursor: pointer; }
  .mtabs button.on { background: var(--rb-steel); color: #fff; border-color: var(--rb-steel); }
  .board3.tabbed .board-box { display: none; }
  .board3.tabbed .board-box.show { display: block; }
  /* default state before the (delayed) script runs: same as its first state */
  .rb-main3 .board3:not(.tabbed) .board-box:not([data-box="jobs"]) { display: none; }
  .rb-sub3 .board-box.mcol:not([data-mc]):not(:first-child) .rb-sub,
  .rb-sub3 .board-box.mcol:not([data-mc]):not(:first-child) .rb-ul,
  .rb-sub3 .board-box.mcol:not([data-mc]):not(:first-child) .rb-va,
  .rb-sub3 .board-box.mcol:not([data-mc]):not(:first-child) .box-empty { display: none; }
  .rb-sub3 .board-box.mcol:not([data-mc]):not(:first-child) { padding-bottom: 0; }
  .rb-sub3 .board-box.mcol:not([data-mc]):not(:first-child) > h2::after { content: "+"; }
  .rb-main3 .board3.tabbed .board-box.rb-bx > h2 { display: none; }
  .board-box.mcol > h2 { cursor: pointer; }
  .board-box.mcol > h2::after { content: "\2212"; margin-left: 8px; font-size: 22px; line-height: 1; }
  .board-box.mcol.closed > h2::after { content: "+"; }
  .board-box.mcol.closed .rb-ul, .board-box.mcol.closed .rb-sub, .board-box.mcol.closed .rb-va, .board-box.mcol.closed .box-empty { display: none; }
  .board-box.mcol.closed { padding-bottom: 0; }

  .nboard-sec.acc > h2 { cursor: pointer; }
  .nboard-sec.acc > h2::after { content: "\2212"; margin-left: 8px; font-size: 20px; color: var(--rb-muted); }
  .nboard-sec.acc.closed > h2::after { content: "+"; }
  .nboard-sec.acc.closed .ntable-wrap, .nboard-sec.acc.closed .nboard-more, .nboard-sec.acc.closed .nb-empty { display: none; }
}

/* notice-board tables collapse to stacked rows on phones */
@media (max-width: 640px) {
  .rb-actions { grid-template-columns: 1fr 1fr; }
  .rb-act small { display: none; }
  .rb-ldbar { flex-wrap: wrap; }
  .rb-ldt { flex-basis: calc(100% - 30px); font-size: 15px; }
  .rb-ldgo { margin-left: 22px; }
  .ntable thead { display: none; }
  .ntable, .ntable tbody { display: block; width: 100%; min-width: 0; }
  .ntable tr { display: block; padding: 9px 11px; border-bottom: 1px solid #C9D3E3; }
  .ntable tbody tr:nth-child(even) { background: var(--rb-zebra); }
  .ntable td, .nboard .ntable td { display: inline; width: auto !important; padding: 0; border: 0; background: transparent !important; font-size: 13px; color: var(--rb-muted); margin-right: 8px; white-space: normal; }
  .ntable td:empty { display: none; }
  .ntable td[data-label="Date"] { display: none; }
  .ntable .nt-title, .nboard .ntable .nt-title { display: block; margin: 0 0 3px; }
  .ntable .nt-title a { font-size: 15.5px; }
  .org-cols, .html-sitemap ul { columns: 1; }
  .rb-tile { min-height: 0; }
  .rb-tile:nth-child(n+7) { display: none; }
  .rb-tile b { font-size: 21px; }
  .rb-tile b small { font-size: 12.5px; }
  .rb-to { font-size: 10px; }
  .rb-tt { font-size: 14px; }
  .rb-tl { font-size: 11.5px; }
  .rb-qlist { columns: 2; }
}
@media (max-width: 380px) {
  .rb-logo .logo-name { font-size: 19.5px; }
  .rb-logo .logo-mark { width: 40px; height: 40px; }
  .rb-mb, .rb-mnav summary.rb-mb { font-size: 14px; padding: 8px 10px; }
}
@media (max-width: 350px) {
  .rb-mnav { gap: 4px; padding-left: 6px; padding-right: 6px; }
  .rb-mb, .rb-mnav summary.rb-mb { font-size: 13.5px; padding: 8px 6px; }
  .rb-dd > summary::after { margin-left: 4px; }
}

/* print: clean job page */
@media print {
  .rb-head, .rb-nav, .rb-mnav, .rb-quick, .rb-notice, .rb-left, .layout > aside, .rb-foot, .share-row, .join-block, .report, .agecalc, .push-bar, .to-top { display: none !important; }
  body { background: #fff; }
  .layout { display: block; }
}
