:root{
  --brand-primary:#9D2E34;
  --brand-primary-dark:#7e2328;
  --brand-secondary:#30a2b6;
  --brand-secondary-dark:#227b8b;
  --bg:#f6f8fb;
  --surface:#ffffff;
  --surface-2:#fdfdfd;
  --text:#172033;
  --muted:#667085;
  --border:rgba(23,32,51,.10);
  --success:#198754;
  --warning:#ffb703;
  --danger:#dc3545;
  --shadow:0 18px 45px rgba(16,24,40,.10);
  --shadow-soft:0 10px 28px rgba(16,24,40,.08);
  --radius-xl:24px;
  --radius-lg:18px;
  --radius-md:14px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(900px 240px at 0% 0%, rgba(48,162,182,.10), transparent 60%),
    radial-gradient(900px 240px at 100% 0%, rgba(157,46,52,.10), transparent 60%),
    var(--bg);
  color:var(--text);
}

a{text-decoration:none}
img{max-width:100%;height:auto}

.page-shell{padding:1.2rem}
.section-card,.glass-card,.content-card{
  background:rgba(255,255,255,.88);
  backdrop-filter: blur(8px);
  border:1px solid var(--border);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-soft);
}
.glass-card{background:rgba(255,255,255,.78)}
.hero-card{
  border-radius:32px;
  background:
    linear-gradient(135deg, rgba(157,46,52,.95), rgba(48,162,182,.95)),
    #1b2a41;
  color:#fff;
  overflow:hidden;
  position:relative;
  box-shadow:var(--shadow);
}
.hero-card::before,
.hero-card::after{
  content:"";
  position:absolute;
  border-radius:999px;
  background:rgba(255,255,255,.08);
}
.hero-card::before{width:340px;height:340px;top:-140px;right:-80px}
.hero-card::after{width:220px;height:220px;bottom:-90px;left:-60px}

.badge-soft{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.55rem .85rem;border-radius:999px;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);
  color:#fff;font-weight:700;font-size:.88rem;
}

.metric-card{
  border-radius:22px;
  border:1px solid var(--border);
  background:var(--surface);
  padding:1rem;
  height:100%;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  box-shadow:var(--shadow-soft);
}
.metric-card:hover{transform:translateY(-4px);border-color:rgba(48,162,182,.35)}
.metric-card .icon-wrap{
  width:52px;height:52px;border-radius:16px;
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg, rgba(157,46,52,.12), rgba(48,162,182,.14));
  color:var(--brand-primary);font-size:1.25rem;
}
.metric-label{color:var(--muted);font-size:.92rem;font-weight:600}
.metric-value{font-size:1.6rem;font-weight:800;line-height:1.1}

.topbar{
  position:sticky;top:0;z-index:1040;
  backdrop-filter: blur(12px);
  background:rgba(255,255,255,.78);
  border-bottom:1px solid rgba(23,32,51,.08);
}
.brand-pill{
  display:inline-flex;align-items:center;gap:.8rem;
  padding:.55rem .8rem;border-radius:999px;
  background:linear-gradient(90deg, var(--brand-primary), var(--brand-secondary));
  color:#fff;box-shadow:0 10px 24px rgba(48,162,182,.16);
}
.brand-pill span{font-weight:800;letter-spacing:.02em}
.nav-link-clean{
  color:var(--text);font-weight:700;border-radius:999px;padding:.7rem 1rem !important;
}
.nav-link-clean:hover,.nav-link-clean.active{background:rgba(48,162,182,.10);color:var(--brand-primary)}

.btn-brand-primary,
.btn-brand-secondary,
.btn-outline-brand{
  border-radius:999px;
  font-weight:800;
  padding:.8rem 1.15rem;
}
.btn-brand-primary{background:var(--brand-primary);color:#fff;border:none}
.btn-brand-primary:hover{background:var(--brand-primary-dark);color:#fff}
.btn-brand-secondary{background:var(--brand-secondary);color:#fff;border:none}
.btn-brand-secondary:hover{background:var(--brand-secondary-dark);color:#fff}
.btn-outline-brand{border:1px solid rgba(255,255,255,.28);color:#fff;background:transparent}
.btn-outline-brand:hover{background:rgba(255,255,255,.12);color:#fff}

.form-control,.form-select{
  border-radius:14px;
  min-height:48px;
  border:1px solid rgba(23,32,51,.12);
}
.form-control:focus,.form-select:focus{
  border-color:rgba(48,162,182,.45);
  box-shadow:0 0 0 .2rem rgba(48,162,182,.15);
}

.table-clean{
  --bs-table-bg:transparent;
  margin-bottom:0;
}
.table-clean thead th{
  background:#f8fafc;
  color:#344054;
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  border-bottom:none;
  white-space:nowrap;
}
.table-clean td, .table-clean th{padding:1rem .9rem;vertical-align:middle}
.table-clean tbody tr{border-top:1px solid rgba(23,32,51,.06)}
.table-clean tbody tr:hover{background:rgba(48,162,182,.04)}

.empty-state{
  padding:2rem;
  text-align:center;
  color:var(--muted);
  border:1px dashed rgba(23,32,51,.14);
  border-radius:18px;
  background:#fff;
}

.footer-modern{
  background:linear-gradient(90deg, var(--brand-primary), var(--brand-secondary));
  color:#fff;
}
.footer-modern a{color:#fff;font-weight:700}

.dashboard-shell{padding:1rem}
.dashboard-panel{
  background:rgba(255,255,255,.86);
  border:1px solid rgba(23,32,51,.08);
  border-radius:26px;
  box-shadow:var(--shadow-soft);
}
.aside-card{
  border-radius:24px;
  border:1px solid rgba(23,32,51,.08);
  background:linear-gradient(180deg, rgba(157,46,52,.98), rgba(48,162,182,.95));
  color:#fff;
  box-shadow:var(--shadow);
}
.menu-link{
  display:flex;align-items:center;gap:.85rem;
  color:#fff;padding:.85rem 1rem;border-radius:16px;font-weight:700;
  transition:background .2s ease, transform .2s ease;
}
.menu-link:hover,.menu-link.active{background:rgba(255,255,255,.14);color:#fff;transform:translateX(2px)}
.content-header{
  display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap;
  padding:1rem 1.1rem 0;
}

@media (max-width: 991.98px){
  .page-shell,.dashboard-shell{padding:.8rem}
  .hero-card{border-radius:24px}
}
@media (max-width: 767.98px){
  .metric-value{font-size:1.35rem}
  .hero-card .display-5{font-size:2rem}
  .content-header{padding:.9rem .9rem 0}
}
