/* Modelled on staffawards-v2: dark sticky navbar #2d2d3f, a gradient hero
   banner, and forms split into titled cards. */
:root {
  --sva-navbar: #2d2d3f;
  --sva-muted: #b0b0cc;
  --sva-accent: #e8505b;
}

body { background: #f4f5f9; }

.navbar { background: var(--sva-navbar); }
.navbar .nav-link { color: var(--sva-muted); border-radius: 2rem; padding: .3rem .9rem !important; }
.navbar .nav-link:hover { color: #fff; }
.navbar .nav-link.active { color: #fff; background: rgba(255, 255, 255, .12); }
.navbar .who { color: var(--sva-muted); font-size: .9rem; }
.navbar .btn-signout { color: var(--sva-muted); border-color: #555577; }
.navbar .btn-signout:hover { color: #fff; border-color: #8888aa; }

.hero-banner {
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
  color: #fff;
  padding: 2.75rem 0 2.25rem;
}
.hero-banner .lead { color: rgba(255, 255, 255, .75); }

.card { border: 0; border-radius: .75rem; box-shadow: 0 1px 2px rgba(20, 20, 40, .05), 0 6px 18px rgba(20, 20, 40, .06); }
.card-header {
  background: #fff; border-bottom: 1px solid #eef0f4;
  border-radius: .75rem .75rem 0 0 !important; padding: .9rem 1.25rem;
}
.card-header h2 { font-size: 1rem; font-weight: 650; margin: 0; }
.card-header .step {
  display: inline-grid; place-items: center; width: 1.6rem; height: 1.6rem; margin-right: .5rem;
  border-radius: 50%; background: #0f3460; color: #fff; font-size: .8rem; font-weight: 700;
}
.card-body { padding: 1.25rem; }

.form-label { font-weight: 500; }
.required::after { content: " *"; color: var(--sva-accent); }

/* "Your information" — read, not edited. */
.info-grid dt { color: #6c757d; font-weight: 500; font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; }
.info-grid dd { font-size: 1.05rem; margin-bottom: .75rem; }

/* Audience and yes/no as toggle buttons rather than tiny boxes. */
.btn-toggle-group .btn { min-width: 7rem; }

/* The All Concern request — hard to miss on purpose. */
.allcon-card { border-left: 5px solid #f0ad4e; }
.allcon-card .form-switch .form-check-input { width: 3rem; height: 1.6rem; margin-top: 0; cursor: pointer; }
.allcon-card .form-switch .form-check-label { padding-left: .6rem; font-size: 1.05rem; font-weight: 600; cursor: pointer; }

.deadline { border-left: 4px solid #0f3460; background: #eef3fb; }

.table-card { overflow: hidden; }
.table-card .table { margin: 0; }
.table-card thead th {
  background: #f8f9fc; color: #6c757d; font-size: .72rem; font-weight: 600;
  letter-spacing: .05em; text-transform: uppercase; white-space: nowrap;
}
