/* Global palette based on requested colors */
:root {
  --brand-primary: #5c8fa2; /* requested */
  --brand-accent: rgb(132, 186, 187); /* requested */
  --brand-accent-600: #6fa8b0;
  --brand-bg: #f6fbfc;
}

html, body {
  height: 100%;
}

body {
  background: var(--brand-bg);
}

/* Navbar overrides */
.navbar.bg-primary {
  background-color: var(--brand-primary) !important;
}

.navbar-brand, .nav-link {
  letter-spacing: .2px;
}

/* Cards */
.card.brand-card {
  border: none;
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
  border-radius: .75rem;
}
.card.brand-card .card-header {
  background: linear-gradient(135deg, var(--brand-primary), var(--brand-accent));
  color: #fff;
  border-bottom: none;
}
.card.brand-card .card-title {
  margin: 0;
}

/* Buttons */
.btn-brand {
  background-color: var(--brand-primary);
  border-color: var(--brand-primary);
  color: #fff;
}
.btn-brand:hover, .btn-brand:focus {
  background-color: var(--brand-accent);
  border-color: var(--brand-accent);
  color: #08323a;
}

/* Modern file upload */
.file-drop-area {
  position: relative;
  border: 2px dashed var(--brand-accent);
  padding: 1.25rem;
  border-radius: .75rem;
  background: #fff;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.file-drop-area.dragover {
  border-color: var(--brand-primary);
  background: #f0f7f9;
  box-shadow: 0 0 0 .25rem rgba(92, 143, 162, .15);
}
.file-drop-message {
  display: flex;
  align-items: center;
  gap: .75rem;
  color: #406673;
}
.file-drop-message i {
  font-size: 1.5rem;
  color: var(--brand-primary);
}
.custom-file-input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.selected-file-name {
  margin-top: .5rem;
  font-size: .9rem;
  color: #406673;
}

/* Alerts accent */
.alert-info {
  background-color: #e1f2f3;
  color: #2f5a64;
  border: 1px solid var(--brand-accent);
}
.alert-warning {
  background-color: #fff4e5;
}
.alert-success {
  background-color: #e6f5ef;
}

/* Utility */
.section-title {
  color: var(--brand-primary);
}
