.swwp-portal{
  width:var(--swwp-width)!important;
  max-width:calc(100vw - 32px)!important;
  margin:18px auto 42px;
  padding:0;
  box-sizing:border-box;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--swwp-text);
}
.swwp-card{
  width:100%!important;
  box-sizing:border-box;
  background:var(--swwp-card);
  border:1px solid rgba(15,23,42,.07);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(15,23,42,.16);
}
.swwp-header{
  padding:42px 54px 38px;
  text-align:center;
  background:linear-gradient(145deg,var(--swwp-brand),#b80012);
  color:#fff;
}
.swwp-logo{
  display:block;
  max-width:300px;
  max-height:110px;
  width:auto;
  height:auto;
  margin:0 auto 22px;
  padding:10px 16px;
  background:#fff;
  border-radius:14px;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}
.swwp-kicker{
  display:inline-flex;
  gap:7px;
  align-items:center;
  margin-bottom:11px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  opacity:.94;
}
.swwp-header h2{
  margin:0 0 12px!important;
  color:#fff!important;
  font-size:clamp(32px,4vw,42px)!important;
  line-height:1.12;
}
.swwp-header p{
  max-width:540px;
  margin:0 auto;
  font-size:16px;
  line-height:1.65;
  color:#fff;
  opacity:.95;
}
.swwp-content{padding:42px 54px 44px}
.swwp-alert{margin-bottom:24px;padding:14px 16px;border:1px solid #efb1b4;border-radius:12px;background:#fff2f2;color:#7f1d1d}
.swwp-step{display:flex;gap:13px;align-items:flex-start;margin:0 0 11px}
.swwp-step>span{
  display:grid;
  flex:0 0 auto;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:50%;
  background:var(--swwp-brand);
  color:#fff;
  font-size:14px;
  font-weight:900;
  box-shadow:0 5px 12px color-mix(in srgb,var(--swwp-brand) 22%,transparent);
}
.swwp-step label{display:block;font-weight:850;font-size:16px}
.swwp-step small{display:block;margin-top:3px;color:#6b7280;font-size:12px}
.swwp-field{position:relative;margin:0 0 27px}
.swwp-field input{
  display:block;
  width:100%!important;
  min-height:58px;
  box-sizing:border-box;
  padding:15px 17px;
  border:1px solid #cbd5e1;
  border-radius:13px;
  background:#fff;
  color:#111827;
  font-size:17px;
  transition:border-color .18s,box-shadow .18s,transform .18s;
}
.swwp-field input:hover{border-color:#94a3b8}
.swwp-field input:focus{outline:0;border-color:var(--swwp-brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--swwp-brand) 16%,transparent)}
.swwp-field.is-valid input{border-color:#16a34a;padding-right:48px}
.swwp-field.is-valid:after{content:"✓";position:absolute;right:17px;top:17px;color:#16a34a;font-size:20px;font-weight:900}
.swwp-field.has-error input{border-color:#dc2626}
.swwp-inline-error{min-height:16px;margin-top:6px;color:#b91c1c;font-size:12px}
.swwp-money b{position:absolute;left:18px;top:50%;transform:translateY(-50%);font-size:20px;line-height:1;z-index:2;pointer-events:none}
.swwp-money input{padding-left:52px!important}
.swwp-money.is-valid:after{top:17px}
.swwp-button{
  display:flex;
  width:100%!important;
  min-height:64px;
  align-items:center;
  justify-content:center;
  gap:13px;
  border:0;
  border-radius:14px;
  background:var(--swwp-button);
  color:#fff!important;
  font-size:19px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 10px 24px color-mix(in srgb,var(--swwp-button) 30%,transparent);
  transition:transform .18s,filter .18s,box-shadow .18s;
}
.swwp-button:hover{filter:brightness(.92);transform:translateY(-2px);box-shadow:0 14px 30px color-mix(in srgb,var(--swwp-button) 35%,transparent)}
.swwp-button:active{transform:translateY(0)}
.swwp-button:disabled{opacity:.78;cursor:wait;transform:none}
.swwp-spinner{display:none;width:20px;height:20px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:swwp-spin .8s linear infinite}
.swwp-button.is-loading .swwp-arrow{display:none}
.swwp-button.is-loading .swwp-spinner{display:inline-block}
@keyframes swwp-spin{to{transform:rotate(360deg)}}
.swwp-methods{text-align:center;margin:20px 0 0}
.swwp-methods span{display:block;color:#6b7280;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.swwp-methods strong{display:block;margin-top:6px;font-size:14px}
.swwp-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px;padding:22px 0 4px;border-top:1px solid #edf0f3}
.swwp-trust>div{padding:5px 8px;text-align:center;background:transparent}
.swwp-trust span{display:grid;width:38px;height:38px;margin:0 auto 7px;place-items:center;border-radius:50%;background:#f1f5f9;font-size:18px}
.swwp-trust b,.swwp-trust small{display:block}
.swwp-trust b{margin-top:4px;font-size:13px}
.swwp-trust small{color:#6b7280;font-size:11px}
.swwp-secure,.swwp-mode{text-align:center;margin:16px 0 0;color:#6b7280;font-size:12px}
.swwp-mode{color:#92400e;background:#fffbeb;border-radius:10px;padding:9px}
.swwp-bank{margin-top:24px;padding-top:20px;border-top:1px solid #edf0f3;text-align:center;color:#5b6470;font-size:13px;line-height:1.55}
.swwp-hp{position:absolute!important;left:-9999px!important}
.swwp-status-card{max-width:680px;margin:35px auto;padding:42px;border:1px solid #e2e5e9;border-radius:22px;background:#fff;text-align:center;box-shadow:0 20px 55px rgba(20,28,38,.1)}
.swwp-status-icon{display:grid;width:68px;height:68px;margin:0 auto 16px;place-items:center;border-radius:50%;background:#dcfce7;color:#166534;font-size:36px;font-weight:900}
@media(max-width:700px){
  .swwp-portal{width:calc(100vw - 24px)!important;max-width:none!important;margin:12px auto 24px}
  .swwp-card{border-radius:20px}
  .swwp-header{padding:32px 22px 30px}
  .swwp-content{padding:30px 22px 32px}
  .swwp-logo{max-width:235px;max-height:90px}
  .swwp-header h2{font-size:30px!important}
  .swwp-header p{font-size:15px}
  .swwp-trust{gap:5px;margin-top:24px}
  .swwp-trust>div{padding:4px 2px}
  .swwp-trust small{font-size:9px}
  .swwp-button{min-height:60px;font-size:17px}
}
@media(prefers-reduced-motion:reduce){.swwp-button,.swwp-field input{transition:none}.swwp-spinner{animation-duration:1.4s}}
