body { font-family: Inter, system-ui, sans-serif; color: #203031; }
.sidebar { width: 280px; min-height: 100vh; }
.sidebar .navbar-brand span { color: #83d29a; }
.nav-caption { font-size: .7rem; letter-spacing: .1em; color: #8f9ba4; font-weight: 700; }
.sidebar .nav-link { color: #c8d0d7; padding: .55rem .75rem; border-radius: .35rem; font-size: .9rem; }
.sidebar .nav-link:hover, .sidebar .nav-link.active { color: #fff; background: #1f6f52; }
.accordion-item, .accordion-button { background: transparent; border: 0; box-shadow: none!important; color: #fff; padding: .5rem .75rem; font-weight: 600; }
.accordion-button::after { filter: invert(1); }
.accordion-body .nav-link { padding-left: 2.1rem; }
.nav-group { color:#94aaa0; font-size:.75rem; font-weight:700; padding:.55rem .75rem .15rem 2.1rem; }
.accordion-body .nav-link.child { padding-left:2.8rem; font-size:.82rem; }
.card { border-radius: .7rem; }
.table thead th { background: #f8f9fa; font-size: .75rem; text-transform: uppercase; color: #63717c; }
.eyebrow { font-size: .72rem; letter-spacing: .08em; color: #6c757d; font-weight: 800; }
.dynamic-item-row, .po-row { background: #fbfcfc; }
.progress { background: #e9ecef; }
.form-label { font-weight: 600; font-size: .86rem; }
.table td { vertical-align: middle; }
@media (max-width: 991px) {
  .sidebar { width: 235px; }
  main { padding: 1rem !important; }
}

.data-table-scroll { max-height: 72vh; }
.data-table-scroll thead th { position: sticky; top: 0; z-index: 2; }
.readiness-stat { background: #f3f8f5; border: 1px solid #dcebe1; border-radius: .65rem; padding: .8rem .5rem; display: flex; flex-direction: column; gap: .15rem; }
.readiness-stat strong { font-size: 1.35rem; color: #1f6f52; }
.readiness-stat span { font-size: .75rem; color: #63717c; }
.eyebrow { font-size: .7rem; letter-spacing: .09em; font-weight: 800; color: #648076; }
textarea.form-control { min-height: 86px; }
