:root{
  --bg:#f6f9ff;
  --card:#ffffff;
  --text:#0f172a;
  --muted:#475569;
  --blue:#1d4ed8;
  --blue2:#2563eb;
  --line:rgba(15, 23, 42, .10);
  --shadow: 0 18px 45px rgba(29, 78, 216, .12);
  --radius:18px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:radial-gradient(1200px 600px at 20% -10%, rgba(37,99,235,.18), transparent 55%), radial-gradient(900px 500px at 90% 0%, rgba(29,78,216,.16), transparent 55%), var(--bg)}
a{color:inherit;text-decoration:none}
.container{max-width:1150px;margin:0 auto;padding:0 18px}

.nav{
  position:sticky; top:0; z-index:50;
  backdrop-filter: blur(14px);
  background: rgba(246,249,255,.75);
  border-bottom:1px solid var(--line);
}
.navInner{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:14px}
.brand{display:flex;align-items:center;gap:12px}
.logo{
  width:42px;height:42px;border-radius:14px;
  background: linear-gradient(135deg, var(--blue), #60a5fa);
  box-shadow: var(--shadow);
}
.brand b{font-size:15px;letter-spacing:.2px}
.brand small{display:block;color:var(--muted);margin-top:2px}
.navLinks{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.pill{
  padding:10px 12px;border-radius:999px;border:1px solid var(--line);
  background:rgba(255,255,255,.7);
  color:var(--text);
  transition:.2s;
}
.pill:hover{transform:translateY(-1px);box-shadow:0 10px 25px rgba(15,23,42,.08)}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:11px 14px;border-radius:12px;border:1px solid rgba(29,78,216,.25);
  background: linear-gradient(135deg, var(--blue), var(--blue2));
  color:white;font-weight:700;gap:10px;box-shadow: var(--shadow); transition:.2s;
}
.btn:hover{transform:translateY(-1px)}
.btnGhost{
  background:rgba(255,255,255,.85); color:var(--blue);
  border:1px solid rgba(29,78,216,.25); box-shadow:none;
}
.btnSmall{padding:10px 12px;border-radius:12px;font-weight:700}

.hero{
  padding:46px 0 26px;
}
.heroGrid{
  display:grid;grid-template-columns: 1.25fr .75fr;gap:18px;align-items:stretch;
}
.card{
  background:rgba(255,255,255,.92);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow: 0 15px 45px rgba(15,23,42,.08);
}
.heroLeft{padding:24px}
.kicker{
  display:inline-flex;gap:8px;align-items:center;
  padding:8px 12px;border-radius:999px;
  background: rgba(29,78,216,.08);
  border:1px solid rgba(29,78,216,.18);
  color:var(--blue); font-weight:800; font-size:12px;
}
.hTitle{font-size:40px;line-height:1.08;margin:14px 0 10px;letter-spacing:-.6px}
.hSub{color:var(--muted);font-size:15px;line-height:1.7;margin:0 0 16px}
.heroCtas{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.stat{padding:14px;border-radius:16px;border:1px solid var(--line);background:rgba(246,249,255,.7)}
.stat b{display:block;font-size:18px}
.stat span{color:var(--muted);font-size:12px}

.heroRight{padding:18px}
.priceBox{padding:18px}
.priceRow{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.price{font-size:34px;font-weight:900;letter-spacing:-.4px}
.badge{
  font-size:12px;font-weight:900;color:var(--blue);
  padding:8px 10px;border-radius:999px;
  background: rgba(37,99,235,.10);
  border:1px solid rgba(37,99,235,.18);
}
.list{margin:14px 0 0;padding:0;list-style:none}
.list li{display:flex;gap:10px;padding:10px 0;border-top:1px dashed rgba(15,23,42,.12);color:var(--muted)}
.dot{width:10px;height:10px;border-radius:99px;background:var(--blue);margin-top:6px;flex:0 0 10px}

.section{padding:28px 0}
.secHead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}
.secHead h2{margin:0;font-size:22px;letter-spacing:-.2px}
.secHead p{margin:0;color:var(--muted);max-width:640px;line-height:1.6}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.feature{padding:16px}
.feature h3{margin:8px 0 6px;font-size:16px}
.feature p{margin:0;color:var(--muted);line-height:1.6;font-size:13px}
.icon{
  width:42px;height:42px;border-radius:14px;
  background: rgba(29,78,216,.10);
  border:1px solid rgba(29,78,216,.20);
  display:flex;align-items:center;justify-content:center;
  font-weight:900;color:var(--blue);
}

.formWrap{padding:18px}
.formGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.label{font-size:12px;color:var(--muted);font-weight:800;margin-bottom:6px}
.input, .select{
  width:100%;padding:12px 12px;border-radius:14px;
  border:1px solid var(--line); background:rgba(255,255,255,.95);
  outline:none; transition:.2s;
}
.input:focus, .select:focus{border-color:rgba(29,78,216,.45); box-shadow:0 0 0 4px rgba(37,99,235,.12)}
.checkboxRow{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.chip{
  display:flex;align-items:center;gap:8px;
  padding:10px 12px;border-radius:999px;border:1px solid var(--line);
  background:rgba(246,249,255,.8); color:var(--text); font-size:13px;
}
.hr{height:1px;background:rgba(15,23,42,.10);margin:14px 0}

.footer{padding:26px 0 40px;color:var(--muted)}
.footGrid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;align-items:start}
.footLinks{display:flex;gap:10px;flex-wrap:wrap}
.note{font-size:12px;line-height:1.7}

.alert{
  padding:12px 14px;border-radius:14px;border:1px solid;
  margin:12px 0;font-size:13px;line-height:1.6
}
.alertSuccess{background:rgba(16,185,129,.10);border-color:rgba(16,185,129,.25);color:#065f46}
.alertError{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.22);color:#7f1d1d}

.table{
  width:100%;border-collapse:separate;border-spacing:0 10px
}
.table th{font-size:12px;color:var(--muted);text-align:left;padding:0 10px}
.rowCard{
  background:rgba(255,255,255,.92);
  border:1px solid var(--line);
  border-radius:16px;
}
.table td{padding:12px 10px}
.status{
  padding:7px 10px;border-radius:999px;font-size:12px;font-weight:900;display:inline-block
}
.sPending{background:rgba(245,158,11,.12);color:#92400e;border:1px solid rgba(245,158,11,.25)}
.sPaid{background:rgba(16,185,129,.12);color:#065f46;border:1px solid rgba(16,185,129,.25)}
.sFail{background:rgba(239,68,68,.10);color:#7f1d1d;border:1px solid rgba(239,68,68,.22)}

@media (max-width: 980px){
  .heroGrid{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
  .formGrid{grid-template-columns:1fr}
  .hTitle{font-size:34px}
  .footGrid{grid-template-columns:1fr}
}
.brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.brandLogo {
  width: 44px;
  height: 44px;
  object-fit: contain;
  border-radius: 12px;
  background: white;
  padding: 6px;
  box-shadow: 0 8px 20px rgba(29,78,216,.25);
}
/* Hamburger + Mobile Menu */
.menuBtn{
  display:none;
  width:46px;height:46px;
  border-radius:14px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.85);
  align-items:center;
  justify-content:center;
  gap:5px;
  cursor:pointer;
  position:relative;
  transition:.2s;
}
.menuBtn:hover{transform:translateY(-1px);box-shadow:0 10px 25px rgba(15,23,42,.08)}
.menuBtn span{
  display:block;
  width:20px;height:2px;
  background:var(--text);
  border-radius:99px;
  transition:.2s;
}

/* Mobile menu panel */
.mobileMenu{
  display:none;
  position:absolute;
  right:18px;
  top:72px;
  width:min(360px, calc(100% - 36px));
  padding:14px;
  background:rgba(255,255,255,.96);
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow: 0 18px 45px rgba(15,23,42,.18);
  backdrop-filter: blur(12px);
  z-index:999;
}
.mobileMenu a{display:block; margin:8px 0}

/* open state */
.mobileMenu.open{display:block}

/* Animate hamburger to X when open */
.menuBtn.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menuBtn.open span:nth-child(2){opacity:0}
.menuBtn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Responsive rules */
@media (max-width: 860px){
  .navInner{position:relative}
  #mainNav{display:none}
  .menuBtn{display:flex}
}
/* Dashboard responsive table -> cards */
.deskOnly{display:block}
.mobOnly{display:none}

/* Mobile Card UI */
.mCard{
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px;
  background:rgba(255,255,255,.9);
  margin-bottom:12px;
}
.mTop{
  display:flex;
  justify-content:space-between;
  gap:12px;
}
.mId{font-size:12px;color:var(--muted)}
.mName{font-size:16px;font-weight:900;margin-top:2px;color:var(--text)}
.mSub{font-size:12px;color:var(--muted);margin-top:4px}
.mFee{font-size:16px;font-weight:900;margin-top:8px}

.mGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:12px;
}
.mItem{
  border:1px dashed rgba(15,23,42,.12);
  border-radius:14px;
  padding:10px;
}
.mLabel{font-size:11px;color:var(--muted)}
.mVal{font-size:13px;font-weight:800;color:var(--text);margin-top:4px}

.mAction{margin-top:12px}

/* Responsive switch */
@media (max-width: 900px){
  .deskOnly{display:none}
  .mobOnly{display:block}
  .grid2{grid-template-columns:1fr !important}
  .secHead h2{font-size:22px}
}

