/* ── UVA Brand Colors ────────────────────────────────────────
   Primary:   UVA Blue   #232D4B   UVA Orange  #E57200
   Secondary: Cyan       #009FDF   Yellow      #FDDA24
              Teal       #25CAD3   Green       #62BB46
              Magenta    #EF3F6B
   Web:       Light Gray #F1F1EF   Med Gray    #DADADA
              Text Gray  #666666   Link Blue   #495E9D
───────────────────────────────────────────────────────────── */

/* ── Typography & Base ── */
body {
  font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
  color: #232D4B;
}

/* ── Hero ── */
.hero-section {
  background: linear-gradient(135deg, #f5f3ef 0%, #ffffff 60%);
  border-bottom: 1px solid #DADADA;
}

.hero-chart-placeholder {
  width: 280px;
  height: 280px;
  background: linear-gradient(135deg, #f5f3ef, #fde8cc);
  border-radius: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #E57200;
  font-size: 7rem;
}

/* ── Services ── */
.service-card {
  transition: transform .15s ease, box-shadow .15s ease;
}
.service-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(35,45,75,.1) !important;
}

.service-icon {
  width: 44px;
  height: 44px;
  background: #fde8cc;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #E57200;
  font-size: 1.25rem;
}

/* ── Process steps ── */
.step-number {
  width: 48px;
  height: 48px;
  background: #fde8cc;
  color: #E57200;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.1rem;
  margin: 0 auto;
  border: 2px solid #E57200;
}

/* ── Project status badges ── */
.badge.status-inquiry    { background: #fef9c3; color: #854d0e; }
.badge.status-proposal   { background: #e0f2fe; color: #0369a1; }
.badge.status-active     { background: #dcfce7; color: #166534; }
.badge.status-review     { background: #fde8cc; color: #9a3a00; }
.badge.status-complete   { background: #f0fdf4; color: #15803d; border: 1px solid #86efac; }
.badge.status-on_hold    { background: #F1F1EF; color: #666666; }

/* ── Dashboard project cards ── */
.project-card {
  transition: transform .15s ease, box-shadow .15s ease;
}
.project-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(35,45,75,.1) !important;
}

/* ── Messages ── */
.messages-container {
  max-height: 380px;
  overflow-y: auto;
}

.message-row {
  display: flex;
}

.message-theirs {
  justify-content: flex-start;
}

.message-mine {
  justify-content: flex-end;
}

.message-bubble {
  max-width: 80%;
  padding: .6rem 1rem;
  border-radius: 1rem;
  font-size: .9rem;
  line-height: 1.5;
}

.message-theirs .message-bubble {
  background: #F1F1EF;
  border-bottom-left-radius: .2rem;
}

.message-mine .message-bubble {
  background: #fde8cc;
  border-bottom-right-radius: .2rem;
}

.message-mine .message-meta {
  text-align: right;
}

/* ── Form controls ── */
.form-control, .form-select {
  border-color: #DADADA;
  border-radius: 8px;
  padding: .5rem .75rem;
}
.form-control:focus, .form-select:focus {
  border-color: #E57200;
  box-shadow: 0 0 0 3px rgba(229, 114, 0, .18);
}

/* ── Navbar ── */
.navbar-brand {
  font-size: 1.25rem;
}

.navbar .nav-link {
  color: #232D4B;
  font-size: .925rem;
}
.navbar .nav-link:hover {
  color: #E57200;
}

/* ── Bootstrap color overrides ── */
.text-primary   { color: #232D4B !important; }
.text-orange    { color: #E57200 !important; }

.btn-primary {
  background-color: #232D4B;
  border-color: #232D4B;
  color: #fff;
}
.btn-primary:hover {
  background-color: #1a2238;
  border-color: #1a2238;
  color: #fff;
}

.btn-outline-primary {
  color: #232D4B;
  border-color: #232D4B;
}
.btn-outline-primary:hover {
  background-color: #232D4B;
  border-color: #232D4B;
  color: #fff;
}

/* Orange CTA button */
.btn-orange {
  background-color: #E57200;
  border-color: #E57200;
  color: #fff;
}
.btn-orange:hover {
  background-color: #c46200;
  border-color: #c46200;
  color: #fff;
}

.bg-primary         { background-color: #232D4B !important; }
.bg-primary-subtle  { background-color: #f5f3ef !important; }
.bg-uva-orange      { background-color: #E57200 !important; }
