:root{
  --brand:#9D2E34;
  --brand-2:#30a2b6;
  --ink:#0f172a;
  --muted:#64748b;
  --bg:#f6f7fb;
  --card:#ffffff;
  --border:rgba(15,23,42,.10);
  --shadow:0 18px 45px rgba(2,6,23,.08);
  --shadow-sm:0 10px 28px rgba(2,6,23,.06);
  --radius:20px;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  background:
    radial-gradient(1200px 650px at 12% 0%, rgba(48,162,182,.18), transparent 55%),
    radial-gradient(1000px 550px at 88% 0%, rgba(157,46,52,.18), transparent 55%),
    var(--bg);
  color:var(--ink);
}

a{ text-decoration:none; }
.text-muted{ color: var(--muted) !important; }

.brand-gradient{
  background: linear-gradient(135deg, var(--brand), #7c2127 45%, var(--brand-2));
  color:#fff;
}

.navbar{
  border-bottom: 1px solid rgba(255,255,255,.15);
  backdrop-filter: blur(10px);
}

.container{ max-width: 1140px; }

.card{
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  overflow:hidden;
}

.card .card-body{ padding: 1.25rem; }
@media (min-width: 992px){
  .card .card-body{ padding: 1.5rem; }
}

.btn{ border-radius: 14px; padding: .6rem 1rem; font-weight: 600; }
.btn-brand{
  background: var(--brand);
  border-color: var(--brand);
  color:#fff;
  box-shadow: 0 10px 22px rgba(157,46,52,.22);
}
.btn-brand:hover{ filter: brightness(.96); color:#fff; transform: translateY(-1px); }
.btn-brand2{
  background: var(--brand-2);
  border-color: var(--brand-2);
  color:#fff;
  box-shadow: 0 10px 22px rgba(48,162,182,.22);
}
.btn-brand2:hover{ filter: brightness(.96); color:#fff; transform: translateY(-1px); }
.btn-outline-secondary{ border-radius: 14px; }

.badge-soft{
  background: rgba(48,162,182,.12);
  color: #0b5d6a;
  border: 1px solid rgba(48,162,182,.18);
}

.table thead th{
  background: rgba(157,46,52,.06);
  color: var(--ink);
  border-bottom: 1px solid var(--border);
  font-weight: 700;
}
.table td, .table th{ vertical-align: middle; }

.form-control, .form-select{
  border-radius: 14px;
  border: 1px solid var(--border);
  padding: .65rem .85rem;
}
.form-control:focus, .form-select:focus{
  border-color: rgba(48,162,182,.55);
  box-shadow: 0 0 0 .25rem rgba(48,162,182,.15);
}

.print-area{
  background: var(--card);
  border: 1px solid var(--border);
  padding: 24px;
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
}

.feature-card{
  position: relative;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.feature-card:hover{
  transform: translateY(-4px);
  box-shadow: var(--shadow);
  border-color: rgba(48,162,182,.35);
}
.feature-icon{
  width: 44px; height: 44px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius: 14px;
  background: rgba(48,162,182,.12);
  border: 1px solid rgba(48,162,182,.18);
  color: var(--brand-2);
}

.hero{
  border-radius: calc(var(--radius) + 6px);
  background:
    radial-gradient(900px 500px at 12% 20%, rgba(255,255,255,.18), transparent 55%),
    radial-gradient(800px 450px at 88% 20%, rgba(255,255,255,.14), transparent 55%),
    linear-gradient(135deg, var(--brand), #7c2127 45%, var(--brand-2));
  color:#fff;
  padding: 22px 22px;
  box-shadow: var(--shadow);
  border: 1px solid rgba(255,255,255,.18);
}

.hero .pill{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.35rem .7rem;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.22);
  font-size: .85rem;
}

.fade-in{ animation: fadeInUp .35s ease both; }
@keyframes fadeInUp{
  from{ opacity:0; transform: translateY(6px); }
  to{ opacity:1; transform: translateY(0); }
}

@media print{
  body{ background:#fff !important; }
  .navbar, .btn, form, .no-print{ display:none !important; }
  .print-area{ box-shadow:none; border: 0; padding:0; }
}
