:root{
 --nav:#123d31; --nav2:#0d2f26; --accent:#f4b942; --ink:#18231f; --muted:#6b7772;
 --surface:#ffffff; --soft:#f4f7f5; --line:#e5ebe8; --success:#19764d;
}
html,body{max-width:100%;overflow-x:hidden} body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--soft);color:var(--ink)} main{width:100%;min-width:0} .container-fluid,.row,[class*='col-']{min-width:0}
.app-navbar{background:linear-gradient(135deg,var(--nav),var(--nav2));box-shadow:0 8px 28px rgba(10,45,36,.12)}
.brand-logo{height:38px;width:auto;max-width:150px;object-fit:contain}
.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--accent);color:#26352f;display:grid;place-items:center}
.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,rgba(13,47,38,.94),rgba(18,61,49,.82));min-height:540px;display:flex;align-items:center}
.hero.has-image{background-size:cover;background-position:center}
.hero.has-image:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,34,27,.92) 0%,rgba(7,34,27,.75) 45%,rgba(7,34,27,.30) 100%)}
.hero .container{position:relative;z-index:1}
.hero h1{font-size:clamp(2.2rem,5vw,4.7rem);letter-spacing:-.04em;line-height:.98}
.eyebrow{letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:800;color:#f4d27d}
.card-modern{border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 40px rgba(24,35,31,.06);background:#fff}
.stat-card{border-radius:18px;padding:1.1rem;border:1px solid var(--line);background:#fff}
.stat-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#eaf4ef;color:var(--nav)}
.table-modern{--bs-table-bg:transparent}
.table-modern thead th{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:#718079;border-bottom-width:1px}
.sidebar{background:#102f27;color:#fff;min-height:calc(100vh - 64px)}
.sidebar a{color:#cfe1da;text-decoration:none;display:flex;gap:.7rem;align-items:center;padding:.72rem .85rem;border-radius:12px;margin:.15rem 0}
.sidebar a:hover,.sidebar a.active{background:rgba(255,255,255,.10);color:#fff}
.form-control,.form-select{border-radius:12px;border-color:#dbe4df;padding:.72rem .85rem}
.form-control:focus,.form-select:focus{border-color:#65a88d;box-shadow:0 0 0 .2rem rgba(48,126,96,.12)}
.btn-primary{--bs-btn-bg:#174f3f;--bs-btn-border-color:#174f3f;--bs-btn-hover-bg:#103e32;--bs-btn-hover-border-color:#103e32}
.btn-warning{--bs-btn-bg:#f4b942;--bs-btn-border-color:#f4b942}
.badge{font-weight:700}
.progress-soft{height:10px;border-radius:100px;background:#e8eeeb}
.requirement-card{border:1px solid var(--line);border-radius:16px;padding:1rem;background:#fff}
.timeline{position:relative;padding-left:1.6rem}
.timeline:before{content:"";position:absolute;left:.38rem;top:.35rem;bottom:.35rem;width:2px;background:#dfe8e3}
.timeline-item{position:relative;margin-bottom:1.2rem}
.timeline-item:before{content:"";position:absolute;left:-1.46rem;top:.32rem;width:.85rem;height:.85rem;border-radius:50%;background:#1c6b53;box-shadow:0 0 0 4px #eaf4ef}
.empty-state{padding:3rem 1rem;text-align:center;color:#708078}
@media(max-width:991px){.hero{min-height:480px}.sidebar{min-height:auto}.sidebar .nav-stack{display:flex;overflow:auto;gap:.4rem}.sidebar a{white-space:nowrap}}

.table-responsive{max-width:100%;overflow-x:auto}.card-modern,.stat-card,.requirement-card{max-width:100%}img{max-width:100%;height:auto}
