

:root{
  --ink:        #1B2A4A;   /* deep academic navy */
  --ink-soft:   #33456B;
  --ink-060:    rgba(27,42,74,.06);
  --ink-120:    rgba(27,42,74,.12);

  --paper:      #ECE8DC;   /* cool stone paper, not cream */
  --paper-card: #F8F6EF;
  --paper-deep: #E1DCC9;

  --brass:      #B08D57;
  --brass-dark: #8C6D3F;
  --teal:       #1F6F6B;
  --maroon:     #7A2E2E;
  --olive:      #5C6B3C;
  --slate:      #4A5568;
  --plum:       #5B4468;

  --line:       #D3CDB9;
  --text:       #22262E;
  --text-muted: #5C5A4E;

  --radius: 8px;
}



::selection{ background: var(--maroon); color:#fff; }

/* Faint engraved rule texture on the page background */
body.registry-bg{
  background-image:
    repeating-linear-gradient(0deg, transparent, transparent 39px, var(--ink-060) 40px);
  background-attachment: fixed;
}

/* ---------- Top strip (thin, like a ledger header rule) ---------- */
.registry-topline{
  height: 6px;
  background: linear-gradient(90deg, var(--ink) 0%, var(--ink) 60%, var(--maroon) 60%, #6d190f 100%);
}

/* ---------- Navbar (detail pages) ---------- */
.reg-navbar{
  background: var(--ink) !important;
  border-bottom: 1px solid var(--maroon);
}
.reg-navbar .navbar-brand{
  font-size: .8rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--paper) !important;
  opacity: .9;
}
.reg-navbar .navbar-brand:hover{ opacity:1; color:#fff !important; }
.reg-navbar .navbar-text{
  font-size: 1.05rem;
  color: #fff !important;
}

/* ---------- Hero (directory index) ---------- */
.hero-registry{
  background: var(--ink);
  color: var(--paper-card);
  position: relative;
  overflow: hidden;
  border-bottom: 6px solid #7c99c3;
}
.hero-registry::before{
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 12% 20%, rgba(176,141,87,.10) 0, transparent 40%),
    radial-gradient(circle at 88% 80%, rgba(176,141,87,.10) 0, transparent 40%);
  pointer-events: none;
}
.hero-eyebrow{
  /* font-size: .72rem; */
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #ffdba4;
  display: inline-flex;
  align-items: center;
  gap: .6em;
}
.hero-eyebrow::before, .hero-eyebrow::after{
  content: "";
  width: 28px; height: 1px;
  background: var(--maroon);
  display: inline-block;
}
.hero-registry h1{
  font-weight: 600;
  font-optical-sizing: auto;
  font-size: clamp(2.1rem, 4.4vw, 3.4rem);
  letter-spacing: -0.01em;
  color: white;
}
.hero-registry .lead-hi{
  color: rgba(255, 255, 255, 0.82);
  max-width: 640px;
}

/* ---------- Faculty "details" card (directory grid) ---------- */
.details-card{
  background: #26324b0f;
  border: 1px solid #1f2d4b30;
  border-radius: var(--radius);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  position: relative;
}
.details-card::before{
  content: attr(data-code);
  position: absolute;
  top: 14px; right: 16px;
  font-size: .68rem;
  letter-spacing: .08em;
  color: var(--text-muted);
}
.details-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 14px 28px -14px rgba(27,42,74,.35);
  border-color: var(--maroon);
}

.details{
  width: 56px; height: 56px;
  border-radius: 50%;
  border: 2px solid var(--maroon);
  display: flex; align-items: center; justify-content: center;
  position: relative;
  flex: none;
}
.details::after{
  content:"";
  position:absolute; inset: 4px;
  border: 1px dashed var(--maroon);
  border-radius: 50%;
  opacity: .55;
}
.details i{
  font-size: 20px !important;
  color: var(--maroon);
}

.details-card .card-title{
  font-weight: 600;
  color: var(--ink);
}

.details-card dl.reg-facts{
  margin: 0;
  font-size: .86rem;
  color: var(--text-muted);
}
.details-card dl.reg-facts dt{
  text-transform: uppercase;
  color: var(--maroon);
  margin-top: .65rem;
  font-size: 13px;
}
.details-card dl.reg-facts dt:first-child{ margin-top:0; }
.details-card dl.reg-facts dd{ margin: .1rem 0 0; color: #22262E; font-size: 12px; }

.btn-details{
  border: 1px solid var(--maroon);
  color: var(--maroon);
  background: transparent;
  font-size: 12px;
  padding: 8px 10px;
  letter-spacing: .06em;
  text-transform: uppercase;
  border-radius: var(--radius);
}
.btn-details:hover{
  background: var(--maroon);
  color: #fff;
}

/* ---------- Footer ---------- */
.reg-footer{
  background: var(--ink);
  color: rgba(236,232,220,.65);
  border-top: 3px solid var(--maroon);
  font-size: .72rem;
  letter-spacing: .04em;
}

/* =========================================================
   Detail page (e.g. Faculty of Engineering)
   ========================================================= */

.hero-detail{
  background:
    linear-gradient(180deg, rgba(27,42,74,.94), rgba(27,42,74,.88)),
    url('https://images.unsplash.com/photo-1581092160607-ee22621dd758?auto=format&fit=crop&w=1200&q=80') center/cover no-repeat;
  color: #fff;
  border-bottom: 6px solid var(--maroon);
}
.hero-detail .badge-approved{
  letter-spacing: .1em;
  text-transform: uppercase;
  background: transparent;
  color: #ece925;
  padding: .5em 1em;
  border-radius: var(--radius);
}
.hero-detail h1{
  font-weight: 600;
  font-optical-sizing: auto;
  font-size: clamp(2.1rem, 4.4vw, 3.4rem);
  letter-spacing: -0.01em;
  color: white;
}
.hero-detail p.lead-hi{
  color: rgba(255,255,255,.82);
  margin-bottom: 10px;
}
.btn-brass{
  background: var(--maroon);
  border: 1px solid var(--maroon);
  text-transform: uppercase;
  border-radius: var(--radius);
  font-size: 13px;
  padding: 8px 20px;
  color: white;
}
.btn-brass:hover{ background: var(--maroon); border-color: var(--maroon); color:#fff; }

/* Ledger stat strip */
.ledger-stats{
  background: #1b2a4a00;
  border: 1px solid #34425e1f;
  border-radius: var(--radius);
}
.ledger-stat{
  padding: 1.6rem 1rem;
  text-align: center;
  border-right: 1px solid #e6e8eb;
}
.ledger-stat:last-child{ border-right: none; }
.ledger-stat .stat-figure{
  font-weight: 600;
  font-size: 2.2rem;
  color: var(--maroon);
  line-height: 1;
  margin: 3px 0;
}
.ledger-stat .stat-label{
  font-size: 12px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--text-muted);
  display: block;
  margin-top: .5rem;
}

/* Folder-style tabs */
.folder-tabs{
  border-bottom: 2px solid var(--ink);
  gap: 10px;
}
.folder-tabs .nav-link{
  font-size: 13px;
  text-transform: uppercase;
  color: var(--text-muted);
  background: white;
  border: 1px solid var(--line);
  border-bottom: none;
  border-radius: var(--radius) var(--radius) 0 0;
  padding: .8rem 1.1rem;
}
.folder-tabs .nav-link.active{
  color: #fff;
  background: var(--ink);
  border-color: var(--ink);
}

.reg-panel{
  background: white;
  border: 1px solid #ebebeb;
  border-top: none;
}

.dept-row{
  border: 1px solid #1b2a4a1f;
  border-left: 3px solid var(--maroon);
  background: #1b2a4a0a;
  border-radius: var(--radius);
}
.dept-row i{ color: var(--maroon); font-size: 24px !important; }
.dept-row h6{
  font-weight: 600;
  color: var(--ink);

}

.table-ledger{
  border: 1px solid var(--line);
  font-size: 13px;
}
.table-ledger thead th{
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: var(--ink) !important;
  color: var(--paper-card) !important;
  border: none;
}
.table-ledger td{ vertical-align: middle; border-color: var(--line); }

.lab-card{
  border: 1px solid #D3CDB9;
  border-top: 3px solid #D3CDB9;
  border-radius: var(--radius);
}
.lab-card i 
{
  color: var(--maroon) !important;
  font-size: 16px;
}
.lab-card h6{  font-weight: 600; color: #181818; }

.recruiter-badge{
  font-size: 13px;
  letter-spacing: .04em;
  background: #1b2a4a17;
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: .5em .9em;
  font-weight: 600;
}

.pack-note{
  background: white;
  border: 1px solid var(--maroon);
  border-left: 4px solid var(--maroon);
  color: var(--ink);
  border-radius: var(--radius);
}
.pack-note strong{ color: #262626; }

@media (max-width: 767px){
  .ledger-stat{ border-right: none; border-bottom: 1px solid var(--line); }
  .ledger-stat:last-child{ border-bottom: none; }
}
.faculty-heading
{
  margin-top: 20px !important;
}
.ledger-stats i 
{
  font-size: 24px !important;
}