/* Brand palette */
:root {
  --brand-primary: #003252;   /* Pantone 3035 Hex 003252 */
  --brand-accent:  #00b289;   /* Pantone 339 Hex 00b289 */
  --brand-gray-11: #54565b;   /* Pantone Cool Gray 11 Hex 54565b */
  --brand-gray-1:  #e2e2e6;   /* Hex e2e2e6 */
}

/* Fonts: Montserrat Bold for headlines, Century Gothic for body */
@font-face {
  font-family: 'Century Gothic';
  src: local('Century Gothic'), local('CenturyGothic');
}

html, body { height: 100%; }
body { background: var(--brand-gray-1); color: var(--brand-gray-11); font-family: 'Century Gothic', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; }

.navbar { background-color: var(--brand-primary) !important; }
.navbar-brand { font-family: 'Montserrat', sans-serif; font-weight: 800; letter-spacing: 0.2px; }
.nav-link { color: #ffffffcc !important; }
.nav-link:hover { color: #fff !important; }

.btn-primary { background-color: var(--brand-accent); border-color: var(--brand-accent); }
.btn-primary:hover { filter: brightness(0.95); }
.btn-outline-primary { color: var(--brand-primary); border-color: var(--brand-primary); }
.btn-outline-primary:hover { background-color: var(--brand-primary); color: #fff; }

.btn-insights {
  background-color: #003252;
  color: #e2e2e6;
  border-color: #003252;
}
.btn-insights:hover { filter: brightness(1.05); color: #e2e2e6; }

h1, h2, h3, h4, .h1, .h2, .h3, .h4 { font-family: 'Montserrat', sans-serif; color: var(--brand-primary); }
dt { font-weight: 700; color: var(--brand-primary); font-family: 'Montserrat', sans-serif; }

.card { box-shadow: 0 4px 14px rgba(0,0,0,0.06); border: 1px solid #dde1e6; border-radius: 12px; }
.card-header { background: #fff; font-weight: 700; color: var(--brand-primary); font-family: 'Montserrat', sans-serif; }

.table thead th { color: var(--brand-primary); }
.table-hover tbody tr:hover { background-color: rgba(0,178,137,0.08); }

.app-footer {
  background: #fff;
  color: var(--brand-primary);
  border-top: 1px solid #dde1e6;
}

/* Hero section */
.hero {
  position: relative;
  min-height: 280px;
  background: url('/static/connectivity-10-lores.jpg') center/cover no-repeat;
  border-radius: 12px;
  overflow: hidden;
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,50,82,0.55), rgba(0,50,82,0.55));
}

@media (max-width: 576px) {
  .table thead { display: none; }
  .table tr { display: block; margin-bottom: 0.75rem; }
  .table td { display: flex; justify-content: space-between; align-items: center; }
  .table td::before { content: attr(data-label); font-weight: 600; margin-right: 0.5rem; }
}


/* Audit detail layout polish */
.field-row { flex-wrap: nowrap; }
.field-label {
  flex: 0 0 260px;
  max-width: 260px;
  white-space: normal;
  line-height: 1.3;
}
.field-value { min-width: 0; }
.value-chip {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 999px;
  font-weight: 700;
  color: #fff;
  background: var(--brand-primary);
}
.value-text { word-break: normal; overflow-wrap: anywhere; }

@media (max-width: 768px) {
  .field-row { flex-wrap: wrap; }
  .field-label { flex: 0 0 100%; max-width: 100%; margin-bottom: 4px; }
}

