:root{
  --bs-body-bg:#ffffff; --bs-body-color:#222;
  --bs-border-color:#e5e7eb; --bs-primary:#7b112b; --bs-warning:#f59e0b; --bs-danger:#dc3545; --bs-success:#198754;
}
*{box-sizing:border-box}
html,body{margin:0; background:var(--bs-body-bg); color:var(--bs-body-color); font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif}
img{max-width:100%; height:auto}
.container{max-width:1200px; margin:0 auto; padding:0 16px}
.border-bottom{border-bottom:1px solid var(--bs-border-color)}
.border-top{border-top:1px solid var(--bs-border-color)}
.py-3{padding-top:1rem; padding-bottom:1rem}
.py-4{padding-top:1.5rem; padding-bottom:1.5rem}
.my-4{margin-top:1.5rem; margin-bottom:1.5rem}
.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-3{margin-bottom:1rem}
.gap-3{gap:1rem}
.h3{font-size:1.5rem}
.fw-semibold{font-weight:600}
.text-secondary{color:#6b7280}
.text-bordeaux{color:#7b112b}
.row{display:grid; grid-template-columns:1fr; gap:1rem}
@media(min-width:768px){ .row-cols-md-2{grid-template-columns:repeat(2,1fr)} }
@media(min-width:1200px){ .row-cols-xl-3{grid-template-columns:repeat(3,1fr)} }
.col{display:block}
.card{background:#fff; border:1px solid var(--bs-border-color); border-radius:16px; overflow:hidden; box-shadow:0 6px 20px rgba(0,0,0,.06)}
.card-body{padding:16px}
.card-footer{padding:12px 16px; background:#fafafa; border-top:1px solid var(--bs-border-color)}
.progress{width:100%; height:12px; border-radius:999px; background:#f2f4f7; border:1px solid var(--bs-border-color); overflow:hidden}
.progress-bar{height:100%; width:0}
.bg-success{background:#198754}.bg-warning{background:#f59e0b}.bg-danger{background:#dc3545}
.d-flex{display:flex}.align-items-center{align-items:center}.justify-content-between{justify-content:space-between}.flex-wrap{flex-wrap:wrap}
