/* QR-Code Designer visual refresh */
.p4qr-builder{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:24px;
  align-items:start;
}
.p4qr-editor{display:grid;gap:18px}
.p4qr-card,
.p4qr-preview-card{
  position:relative;
  overflow:hidden;
  border:1px solid #dfe7ec;
  border-radius:22px;
  background:#F7F9FA;
  padding:24px;
  box-shadow:0 16px 36px rgba(57,73,85,.09);
}
.p4qr-card:before,
.p4qr-preview-card:before{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:#F7F9FA;
}
.p4qr-card{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:10px 16px;
}
.p4qr-card>label,
.p4qr-card>.p4qr-options,
.p4qr-card>.p4qr-shape-groups,
.p4qr-card>.p4qr-type-tabs,
.p4qr-card>.p4qr-type-panel{
  grid-column:1/-1;
}
.p4qr-step{
  width:44px;
  height:44px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:#F7F9FA;
  color:#fff;
  font:800 17px "Plus Jakarta Sans",Arial,sans-serif;
  box-shadow:0 8px 18px rgba(67,181,246,.25);
}
.p4qr-card h3{
  margin:2px 0 4px;
  font:800 22px/1.15 "Plus Jakarta Sans",Arial,sans-serif;
  color:#394955;
}
.p4qr-card p{
  margin:0;
  color:#748590;
  font-size:13.5px;
  line-height:1.55;
}
.p4qr-label,
.p4qr-options label{
  display:grid;
  gap:8px;
  font-weight:800;
  font-size:13px;
  color:#52636f;
}
.p4qr-type-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:10px;
}
.p4qr-type-tabs button{
  min-height:40px;
  border:1px solid #dce5ea;
  background:#fff;
  color:#52636f;
  border-radius:999px;
  padding:9px 14px;
  font:800 13px "Plus Jakarta Sans",Arial,sans-serif;
  cursor:pointer;
  box-shadow:0 5px 12px rgba(57,73,85,.05);
  transition:.16s ease;
}
.p4qr-type-tabs button:hover,
.p4qr-type-tabs button.is-active{
  border-color:#43B5F6;
  background:#eef8fe;
  color:#238fce;
  transform:translateY(-1px);
}
.p4qr-type-panel{
  display:none;
  margin-top:6px;
  padding:16px;
  border:1px solid #e5ebef;
  border-radius:16px;
  background:#fbfdfe;
}
.p4qr-type-panel.is-active{display:block}
.p4qr-field-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.p4qr-type-panel select,
.p4qr-type-panel input,
.p4qr-type-panel textarea,
.p4qr-options select,
.p4qr-label input,
.p4qr-label textarea{
  width:100%;
  min-height:46px;
  border:1px solid #d7e0e6;
  border-radius:13px;
  background:#fff;
  padding:10px 12px;
  color:#394955;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.p4qr-type-panel textarea,
.p4qr-label textarea{min-height:105px}
.p4qr-type-panel input:focus,
.p4qr-type-panel textarea:focus,
.p4qr-type-panel select:focus,
.p4qr-options select:focus,
.p4qr-label input:focus,
.p4qr-label textarea:focus{
  outline:none;
  border-color:#43B5F6;
  box-shadow:0 0 0 3px rgba(67,181,246,.12);
}
.p4qr-shape-groups{
  display:grid;
  gap:14px;
  margin-top:14px;
}
.p4qr-shape-group{
  border:1px solid #e1e8ed;
  border-radius:16px;
  padding:15px;
  background:#fbfdfe;
  box-shadow:0 6px 14px rgba(57,73,85,.04);
}
.p4qr-shape-group>strong{
  display:block;
  font:800 14px "Plus Jakarta Sans",Arial,sans-serif;
  margin-bottom:10px;
  color:#394955;
}
.p4qr-choice-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.p4qr-choice-row label{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:9px 10px;
  border:1px solid #dbe4ea;
  border-radius:12px;
  background:#fff;
  cursor:pointer;
  font:800 12px "Plus Jakarta Sans",Arial,sans-serif;
  color:#526572;
  text-align:center;
  box-shadow:0 4px 10px rgba(57,73,85,.04);
  transition:.15s ease;
}
.p4qr-choice-row label:hover,
.p4qr-choice-row label.is-active{
  border-color:#43B5F6;
  background:#eef8fe;
  color:#238fce;
  box-shadow:0 8px 16px rgba(67,181,246,.12);
  transform:translateY(-1px);
}
.p4qr-choice-row input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.p4qr-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.p4qr-color-row{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:9px;
}
.p4qr-color-row input[type=color]{
  width:54px;
  height:46px;
  padding:3px;
  border:1px solid #d7e0e6;
  border-radius:13px;
  background:#fff;
}
.p4qr-preview-card{
  position:sticky;
  top:24px;
  padding:24px;
}
.p4qr-preview-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}
.p4qr-preview-head span{
  display:block;
  color:#82929c;
  font-size:12px;
}
.p4qr-preview-head strong{
  display:block;
  font:800 22px "Plus Jakarta Sans",Arial,sans-serif;
  color:#394955;
}
.p4qr-status{
  background:#eef8fe;
  color:#238fce!important;
  border:1px solid #cfeafa;
  border-radius:999px;
  padding:7px 11px;
  font-weight:800;
}
.p4qr-preview{
  aspect-ratio:1/1;
  display:grid;
  place-items:center;
  background:#F7F9FA;
  border:1px solid #e1e8ed;
  border-radius:20px;
  margin:20px 0;
  padding:22px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);
}
.p4qr-preview svg,
.p4qr-preview img{
  display:block;
  max-width:100%;
  max-height:100%;
}
.p4qr-placeholder{
  text-align:center;
  color:#8a98a2;
  font-size:14px;
  line-height:1.5;
}
.p4qr-actions{
  display:grid;
  gap:10px;
}
.p4qr-actions .p4-account-btn{
  width:100%;
  min-height:46px;
}
.p4qr-check{
  padding:11px 13px;
  border-radius:13px;
  font-weight:800;
  font-size:13px;
  text-align:center;
}
.p4qr-check.is-pending{background:#f5f7f9;color:#71818d}
.p4qr-check.is-good{background:#eef9f2;color:#2d7d46}
.p4qr-check.is-bad{background:#fff1f1;color:#b64a4a}
.p4qr-hint{
  display:block;
  margin-top:14px;
  padding:11px 12px;
  border-radius:12px;
  background:#f5f8fa;
  color:#7a8993;
  line-height:1.5;
}
@media(max-width:900px){
  .p4qr-builder{grid-template-columns:1fr}
  .p4qr-preview-card{position:static}
}
@media(max-width:700px){
  .p4qr-field-grid,
  .p4qr-options,
  .p4qr-choice-row{grid-template-columns:1fr}
  .p4qr-card{grid-template-columns:42px minmax(0,1fr);padding:20px}
  .p4qr-preview-card{padding:20px}
}