
/* REMOVE the old global spacer */
/* body { padding-top: 4.5rem; } */

/* Make sure there’s no unexpected top gap */
html, body { margin: 0; padding: 0; }

/* A tiny helper to push content below the fixed navbar (~56–64px) */
.mt-nav { margin-top: 4.5rem; }          /* base */
@media (min-width: 992px) { .mt-nav { margin-top: 4.75rem; } }  /* a hair more on lg+ */

/* Keep navbar above page chrome/content */
.navbar { position: relative; z-index: 1060; }

.navbar-brand { font-weight: 700; letter-spacing: .3px; }



/* NAVY palette (accessible on dark background) */
:root {
    --navy-700: #0a2472;   /* deep navy */
    --navy-650: #0b2a8a;   /* slightly brighter option */
    --navy-link: #cfe3ff;  /* light link color for contrast */
}

/* Header */
.navbar-navy {
    background-color: var(--navy-700) !important;
    background-image: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.08);

    /* Keep text/icons readable on dark background */
    --bs-navbar-color: rgba(255,255,255,.9);
    --bs-navbar-hover-color: #fff;
    --bs-navbar-disabled-color: rgba(255,255,255,.55);
    --bs-navbar-brand-color: #fff;
    --bs-navbar-brand-hover-color: #fff;
    --bs-navbar-toggler-border-color: rgba(255,255,255,.25);
}

/* Footer */
.footer-navy {
    background-color: var(--navy-700);
    color: #fff;
}
.footer-navy a {
    color: var(--navy-link);
    text-decoration: none;
}
.footer-navy a:hover, .footer-navy a:focus {
    color: #ffffff;
    text-decoration: underline;
}


/* Navy footer base (from earlier) */
.footer-navy {
    background-color: #0a2472; /* deep navy */
}

/* Force white text across common elements inside the footer */
.footer-navy,
.footer-navy p,
.footer-navy li,
.footer-navy span,
.footer-navy small,
.footer-navy h5,
.footer-navy h6,
.footer-navy .nav-link {
    color: #fff !important;
}

/* Links: white by default, lighter on hover/focus */
.footer-navy a,
.footer-navy a:visited {
    color: #ffffff !important;
    text-decoration: none;
}
.footer-navy a:hover,
.footer-navy a:focus {
    color: #cfe3ff !important; /* soft light blue */
    text-decoration: underline;
}

/* If you used Bootstrap's text-muted in the footer, make it readable */
.footer-navy .text-muted {
    color: rgba(255,255,255,0.75) !important;
}

/* If you kept the border-top utility, make that border visible on dark bg */
.footer-navy.border-top {
    border-top: 1px solid rgba(255,255,255,0.15) !important;
}

/* Optional: buttons styled as links in the footer */
.footer-navy .btn-link {
    color: #fff !important;
}

/* Flex layout only affects large screens and up */
@media (min-width: 992px) {
  .dashboard-wrap {
    align-items: flex-start; /* keep sidebar top-aligned */
  }
  .dashboard-sidebar {
    flex: 0 0 360px;          /* fixed comfy width */
    max-width: 360px;
  }
}

.navbar { position: relative; z-index: 1070; }
.navbar .dropdown-menu { z-index: 1070; }

/* Sticky behavior and polish */
.quicklinks-sticky {
  position: sticky;
  top: 80px; /* adjust for your navbar height */
  max-height: calc(100vh - 100px);
  overflow-y: auto;
}

.quicklinks-sticky .card-header {
  background-color: #f8f9fa;
  border-bottom: 1px solid #dee2e6;
}

.quicklinks-sticky .list-group-item {
  padding: 0.75rem 1rem;
  display: flex;
  align-items: center;
}

.quicklinks-sticky .list-group-item i {
  color: #0d6efd;
}

/* ensure navbar always sits above dashboard content/sidebars */
.navbar {
  position: relative;
  z-index: 1100; /* higher than .quicklinks-sticky (default card z-index ~1) */
}

.dashboard-sidebar,
.quicklinks-sticky {
  z-index: 1; /* keep them low */
}

/* ===== Quick Links polish ===== */

/* Make the list feel airy but compact */
.quick-links .list-group-item {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .65rem .9rem;
  border: 0;                      /* cleaner look inside cards/accordions */
  border-bottom: 1px solid #eef1f4;
  background-color: #fff;
  transition: background-color .15s ease, transform .06s ease;
}

.quick-links .list-group-item:last-child {
  border-bottom: 0;
}

/* Icons: consistent sizing + slight tint */
.quick-links .list-group-item i.bi {
  font-size: 1.05rem;
  opacity: .85;
}

/* Hover / focus */
.quick-links .list-group-item:hover,
.quick-links .list-group-item:focus {
  background-color: #f7f9fc;
  text-decoration: none;
}
.quick-links .list-group-item:active {
  transform: translateY(1px);
}

/* Text wrap control (keeps one line, ellipsizes long labels) */
.quick-links .list-group-item span {
  display: inline-block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Card header alignment */
.quick-links .card-header {
  background-color: #f8f9fa;
  border-bottom: 1px solid #e6e8eb;
  padding: .6rem .9rem;
}
.quick-links .card-header .bi {
  font-size: 1.05rem;
}

/* Mobile accordion spacing */
@media (max-width: 767.98px) {
  .quick-links .accordion-button {
    padding: .7rem .9rem;
  }
  .quick-links .accordion-body {
    padding: 0; /* we already use p-0 around the list */
  }
}

/* Optional: subtle section label (if you add any separators later) */
.quick-links .list-heading {
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .04em;
  color: #6c757d;
  text-transform: uppercase;
  padding: .5rem .9rem;
  background: #fafbfc;
  border-bottom: 1px solid #eef1f4;
}


/* Coming Soon card polish */
.coming-soon-card .display-4 { line-height: 1; }
.coming-soon-card .bi-cone-striped { font-size: 3rem; }
@media (min-width: 768px) {
  .coming-soon-card .bi-cone-striped { font-size: 3.5rem; }
}