:root{
  --cv-bg: #0b1220;
  --cv-card: #ffffff;
  --cv-text: #0f172a;
  --cv-muted: #64748b;
  --cv-border: rgba(15,23,42,.12);
  --cv-primary: #2563eb;
  --cv-primary-2: #22c55e;
  --cv-shadow: 0 12px 40px rgba(2,6,23,.10);
  --cv-radius: 18px;
}

html, body{height:100%;}
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color: var(--cv-text);
  background: radial-gradient(1200px 680px at 20% -10%, rgba(37,99,235,.18), transparent 55%),
              radial-gradient(900px 520px at 95% 10%, rgba(34,197,94,.14), transparent 50%),
              #f6f8fb;
}

a{color: var(--cv-primary);}

.cv-navbar{
  backdrop-filter: saturate(180%) blur(10px);
  background: rgba(255,255,255,.88) !important;
  border-bottom: 1px solid var(--cv-border);
}

.brand{
  display:flex; align-items:center; gap:.65rem;
  text-decoration:none;
}
.brand img{width:34px; height:34px;}
.brand .brand-name{
  font-weight: 900;
  letter-spacing: .2px;
  color: #0b1220;
}
.brand .brand-tag{font-size: .78rem; color: var(--cv-muted); margin-top:-2px;}

.navbar .nav-link{color:#0b1220; font-weight:600;}
.navbar .nav-link:hover{color: var(--cv-primary);}

.cv-pill{
  border-radius: 999px !important;
}

.cv-card{
  background: var(--cv-card);
  border: 1px solid var(--cv-border);
  border-radius: var(--cv-radius);
  box-shadow: var(--cv-shadow);
}

.cv-hero{
  border-radius: calc(var(--cv-radius) + 8px);
  border: 1px solid var(--cv-border);
  background:
    radial-gradient(1000px 420px at 10% 0%, rgba(37,99,235,.20), transparent 60%),
    radial-gradient(900px 420px at 90% 30%, rgba(34,197,94,.18), transparent 55%),
    #ffffff;
  box-shadow: var(--cv-shadow);
}

.cv-hero .cv-logo{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:.35rem;
}
.cv-hero .cv-logo img{width:72px;height:72px;}
.cv-hero .cv-logo .title{
  font-weight: 950;
  font-size: clamp(2rem, 4vw, 3.1rem);
  letter-spacing: .2px;
}
.cv-hero .cv-logo .subtitle{
  color: var(--cv-muted);
  max-width: 44rem;
}

.cv-search{
  max-width: 54rem;
  margin: 0 auto;
}
.cv-search .form-control{
  border-radius: 999px 0 0 999px !important;
  padding: .95rem 1.15rem;
  border-color: var(--cv-border);
}
.cv-search .btn{
  border-radius: 0 999px 999px 0 !important;
  padding: .95rem 1.25rem;
  font-weight: 800;
}

.cv-section-title{
  font-weight: 900;
  letter-spacing: .2px;
}

.table thead th{
  font-size:.9rem;
  color: #334155;
}
.table tbody td{vertical-align: middle;}
.badge{border-radius:999px;}

.cv-auth-wrap{
  min-height: calc(100vh - 84px);
  display:flex;
  align-items:center;
}
.cv-auth-card{
  max-width: 480px;
  margin: 0 auto;
  padding: 1.25rem;
}

footer.cv-footer{
  color: var(--cv-muted);
  font-size: .9rem;
  padding: 2.5rem 0 2rem;
}

@media (max-width: 991.98px){
  .cv-search .form-control{border-radius:999px !important;}
  .cv-search .btn{border-radius:999px !important; width:100%; margin-top:.6rem;}
}
