
:root{
  --site-bg:#edf3fb;
  --site-bg-2:#f7f9fc;
  --site-shell:rgba(255,255,255,.86);
  --site-card:#ffffff;
  --site-line:#dbe5f2;
  --site-text:#13233f;
  --site-muted:#5f718d;
  --site-blue:#2f6fe6;
  --site-blue-dark:#173d84;
  --site-pill:#eef4ff;
  --site-shadow:0 16px 44px rgba(17,33,68,.10);
}
html,body{max-width:100%; overflow-x:hidden;}
body{
  background:
    radial-gradient(980px 520px at 85% -10%, rgba(47,111,230,.14), rgba(47,111,230,0) 58%),
    linear-gradient(180deg, var(--site-bg) 0%, var(--site-bg-2) 100%) !important;
  color:var(--site-text) !important;
  margin:0;
}
.wrap{max-width:1180px !important; margin:0 auto !important;}
.card{
  background:var(--site-shell) !important;
  border:1px solid var(--site-line) !important;
  border-radius:24px !important;
  box-shadow:var(--site-shadow) !important;
}
.topbar{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:18px !important;
}
.topbar h1{
  font-size:clamp(28px,4vw,42px) !important;
  line-height:1.04 !important;
  letter-spacing:-.03em !important;
  margin:0 0 8px 0 !important;
  color:var(--site-text) !important;
}
.topbar .sub, .topbar p.sub, .lead, .muted{
  color:var(--site-muted) !important;
}
.pageActions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:46px !important;
  padding:0 18px !important;
  border-radius:14px !important;
  border:1px solid var(--site-line) !important;
  background:#fff !important;
  color:var(--site-text) !important;
  text-decoration:none !important;
  font-weight:800 !important;
  box-shadow:none !important;
}
.btn:hover{transform:translateY(-1px);}
.btn.primary{
  background:linear-gradient(180deg, #3277ed 0%, #1f5fcf 100%) !important;
  border-color:#1f5fcf !important;
  color:#fff !important;
  box-shadow:0 10px 24px rgba(45,108,223,.28) !important;
}
.btn.secondary{
  background:#fff !important;
  color:var(--site-text) !important;
}
.chips{display:flex; flex-wrap:wrap; gap:10px !important;}
.chip{
  display:inline-flex !important;
  align-items:center !important;
  border-radius:999px !important;
  padding:8px 12px !important;
  background:var(--site-pill) !important;
  border:1px solid var(--site-line) !important;
  color:var(--site-blue-dark) !important;
  text-decoration:none !important;
  font-weight:700 !important;
}
.section{border-top:1px solid rgba(219,229,242,.8) !important;}
.callout, .notice, .faq details, .mini, .heroCard{
  border-radius:18px !important;
  border:1px solid var(--site-line) !important;
}
.notice.ok{background:#ebf8ef !important; border-color:#c8ead1 !important; color:#184f2a !important;}
.notice.err{background:#fff0f0 !important; border-color:#f0cccc !important; color:#8a1a1a !important;}
input, textarea, select{
  width:100%;
  max-width:100%;
  border-radius:14px !important;
  border:1px solid var(--site-line) !important;
  background:#fff !important;
  color:var(--site-text) !important;
  box-sizing:border-box !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
input:focus, textarea:focus, select:focus{
  outline:none;
  border-color:#8eb2ff !important;
  box-shadow:0 0 0 4px rgba(47,111,230,.12) !important;
}
table{
  width:100%;
  border-collapse:separate !important;
  border-spacing:0;
}
thead th{
  color:var(--site-muted) !important;
  font-weight:800;
  border-bottom:1px solid var(--site-line) !important;
}
tbody td{
  border-bottom:1px solid rgba(219,229,242,.65) !important;
}
tbody tr:hover{
  background:rgba(47,111,230,.04);
}
a{color:var(--site-blue-dark);}
@media (max-width: 860px){
  body{padding:12px !important;}
  .topbar{flex-direction:column !important;}
  .pageActions{justify-content:flex-start;}
  .btn{min-height:44px !important;}
}
