:root{
  --bs-body-font-family: "\"Times New Roman\", Times, serif";
  --title-font: "\"Futura Bold\", Futura, \"Futura PT\", \"Arial Black\", system-ui, sans-serif";
  --bs-body-bg: #e7e3d5;
  --bs-body-color: rgba(0,0,0,0.95);
  --panel-bg: #C6C3B7;
  --input-bg: #BDBAAE;
  --input-border: #A6A399;
  --bs-primary: #126d22;
  --bs-primary-rgb: 18,109,34;
  --accent1: #5d6303;
  --accent2: #126d22;
  --navText1: #fff;
  --navText2: #fff;
  --approval-outline: #5d6303;
}

/* Headings tie to Control Panel font */
h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4,.h5,.h6,
.accordion-button,.card-title,.modal-title,
.navbar-brand,.nav-pills .nav-link,
.badge, .table th { 
  font-family: var(--title-font) !important; 
  font-weight: 700;
}

/* Top nav buttons */
.topnav .nav-link {
  background: var(--accent1);
  color: var(--navText1);
  border: 1px solid var(--accent1);
  border-radius: .75rem;
}
.topnav .nav-link.active {
  background: var(--accent2);
  color: var(--navText2);
  border-color: var(--accent2);
}

/* Panels slightly raised from body */
.card, .accordion-item, .modal-content {
  background: #fff;
  box-shadow: 0 .5rem 1rem rgba(0,0,0,.05);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: .75rem;
}

/* Inputs: sunken/chiseled and high-contrast */
.form-control, .form-select, .form-check-input, .input-group-text, .form-control:focus, .form-select:focus {
  background-color: var(--input-bg) !important;
  border-color: var(--input-border) !important;
  color: rgba(0,0,0,.92) !important;
  box-shadow: inset 0 2px 3px rgba(0,0,0,.10), inset 0 0 0 1px var(--input-border);
}
.form-control::placeholder { color: rgba(0,0,0,.55); }

/* Clickable surfaces get visual affordance */
button, .btn, .accordion-button, .nav-link, .cell {
  cursor: pointer;
}
.accordion-button {
  background: var(--panel-bg);
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.accordion-button:not(.collapsed){ box-shadow: inset 0 2px 4px rgba(0,0,0,.06); }

/* Calendar cells visibly interactive */
.calendar .cell{ background:#fff; transition: transform .05s ease, box-shadow .05s ease }
.calendar .cell:hover{ transform: translateY(-1px); box-shadow: 0 .25rem .75rem rgba(0,0,0,.06) }
.calendar .cell.muted{ opacity:.4 }
.calendar .cell.selected{ outline: 2px solid var(--accent2); outline-offset: 2px }

/* Conversation images + watermark */
.approval-image{ position: relative; display:inline-block; max-width:100%; }
.approval-image img{ display:block; width:100%; height:auto; }
.approval-image .wm{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  pointer-events:none; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color: rgba(0,0,0,.18);
}
.approval-outline{ border:5px solid var(--approval-outline); border-radius:.5rem; padding:.25rem }

/* Lightbox */
.lightbox{ position:fixed; inset:0; background:rgba(0,0,0,.8); display:none; align-items:center; justify-content:center; z-index:1050 }
.lightbox.open{ display:flex }
.lightbox img{ max-width:90vw; max-height:85vh; border-radius:.5rem }
.lightbox .closex{ position:absolute; top:1rem; right:1rem; background:#fff; border:none; border-radius:50%; width:36px; height:36px; font-size:18px }
