/* ===================================================================
   CNRMCPS — Visual identity: "Departmental Records" theme
   Navy + brass/gold seal, stencil-style headings, dossier-style cards
   =================================================================== */

:root{
  --navy-deep:   #0b1d33;
  --navy:        #11294a;
  --navy-light:  #1b3a63;
  --brass:       #c9a227;
  --brass-light: #e3c563;
  --paper:       #f3efe6;
  --paper-dark:  #e8e1d2;
  --ink:         #1c1c1c;
  --alert:       #8b1e1e;
  --ok:          #2e6b4f;
}

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&family=Source+Serif+4:opsz,wght@8..60,400;8..60,600&family=Source+Sans+3:wght@400;500;600&display=swap');

body{
  font-family:'Source Sans 3', sans-serif;
  background:var(--paper);
  color:var(--ink);
}

h1,h2,h3,h4,.brand-font{
  font-family:'Oswald', sans-serif;
  letter-spacing:.03em;
  text-transform:uppercase;
}

/* ---------- Top bar / header used across all internal pages ---------- */
.app-navbar{
  background:var(--navy-deep);
  border-bottom:3px solid var(--brass);
}
.app-navbar .navbar-brand{
  font-family:'Oswald', sans-serif;
  letter-spacing:.05em;
  color:var(--brass-light) !important;
  font-size:1.05rem;
}
.app-navbar .nav-link{
  color:#dfe6ee !important;
  font-size:.92rem;
  letter-spacing:.02em;
}
.app-navbar .nav-link.active, .app-navbar .nav-link:hover{
  color:var(--brass-light) !important;
}

/* ---------- Seal badge (signature element) ---------- */
.dept-seal{
  width:96px;height:96px;border-radius:50%;
  border:3px solid var(--brass);
  display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 35% 30%, var(--navy-light), var(--navy-deep) 70%);
  box-shadow:0 0 0 4px rgba(201,162,39,.18), inset 0 0 12px rgba(0,0,0,.5);
  position:relative;
  flex-shrink:0;
}
.dept-seal::before{
  content:"";
  position:absolute;inset:8px;
  border:1px dashed rgba(201,162,39,.55);
  border-radius:50%;
}
.dept-seal span{
  font-family:'Oswald',sans-serif;
  color:var(--brass-light);
  font-weight:700;
  font-size:1.4rem;
}

/* ---------- Landing / home page ---------- */
.hero-section{
  background:
    linear-gradient(180deg, rgba(11,29,51,.94), rgba(11,29,51,.97)),
    repeating-linear-gradient(135deg, rgba(255,255,255,.02) 0 2px, transparent 2px 14px);
  color:var(--paper);
  padding:5rem 0 4rem;
  border-bottom:6px solid var(--brass);
}
.case-number{
  font-family:'Oswald', sans-serif;
  color:var(--brass-light);
  letter-spacing:.18em;
  font-size:.78rem;
}
.hero-title{
  font-size:2.5rem;
  font-weight:700;
  margin:.6rem 0 .4rem;
  color:#fff;
}
.hero-sub{
  font-family:'Source Serif 4', serif;
  font-style:italic;
  color:#cfd8e3;
  font-size:1.05rem;
}

.dossier-card{
  background:#fff;
  border:1px solid var(--paper-dark);
  border-left:5px solid var(--brass);
  border-radius:2px;
}

.cred-card{
  background:var(--navy);
  color:var(--paper);
  border-radius:6px;
  border:1px solid var(--navy-light);
}
.cred-card .label{
  font-family:'Oswald',sans-serif;
  font-size:.72rem;
  letter-spacing:.12em;
  color:var(--brass-light);
}
.cred-card .value{
  font-family:'Source Serif 4', serif;
  font-size:1.05rem;
}
.cred-divider{
  border-top:1px dashed rgba(201,162,39,.4);
}

.stamp{
  display:inline-block;
  border:2px solid var(--alert);
  color:var(--alert);
  font-family:'Oswald',sans-serif;
  letter-spacing:.15em;
  font-size:.7rem;
  padding:.2rem .6rem;
  border-radius:3px;
  transform:rotate(-3deg);
  opacity:.85;
}

footer.app-footer{
  background:var(--navy-deep);
  color:#9fb0c4;
  font-size:.85rem;
  padding:1.2rem 0;
  border-top:3px solid var(--brass);
}

/* ---------- Dashboard / cards ---------- */
.stat-card{
  background:#fff;
  border:1px solid var(--paper-dark);
  border-top:4px solid var(--navy);
  border-radius:3px;
  padding:1.1rem 1.2rem;
}
.stat-card .num{
  font-family:'Oswald',sans-serif;
  font-size:2rem;
  color:var(--navy);
}
.stat-card .lbl{
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#6b6b6b;
}

.page-heading{
  border-bottom:3px solid var(--brass);
  padding-bottom:.5rem;
  margin-bottom:1.4rem;
  color:var(--navy-deep);
}

.btn-navy{
  background:var(--navy); border-color:var(--navy); color:#fff;
}
.btn-navy:hover{ background:var(--navy-deep); border-color:var(--navy-deep); color:#fff; }

.badge-low{ background:var(--ok); }
.badge-medium{ background:var(--brass); color:#1c1c1c; }
.badge-high{ background:var(--alert); }

.table thead{
  background:var(--navy);
  color:#fff;
}

.photo-thumb{
  width:42px;height:42px;object-fit:cover;border-radius:4px;border:1px solid var(--paper-dark);
}

.login-wrap{
  min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  background:var(--navy-deep);
  background-image: radial-gradient(circle at 50% 0%, rgba(201,162,39,.08), transparent 60%);
}
.login-card{
  background:var(--paper);
  border-radius:4px;
  border-top:5px solid var(--brass);
  width:100%;max-width:380px;
  padding:2rem;
}
