/* PC Generador QR — estilos aislados del tema */
.pcqr-app.pcqr-app {
  --pcqr-bg:#f6f7fb;
  --pcqr-surface:#ffffff;
  --pcqr-surface-soft:#f9fafc;
  --pcqr-text:#17151d;
  --pcqr-muted:#74717d;
  --pcqr-border:#e7e4ec;
  --pcqr-accent:#4d2980;
  --pcqr-accent-hover:#3f216b;
  --pcqr-accent-soft:#f2edf8;
  --pcqr-success:#168253;
  --pcqr-danger:#b42318;
  --pcqr-shadow:0 18px 48px rgba(27,18,42,.08);
  --pcqr-radius:20px;
  isolation:isolate;
  width:100% !important;
  max-width:1180px !important;
  margin:36px auto 64px !important;
  padding:0 18px !important;
  color:var(--pcqr-text) !important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  font-size:16px !important;
  line-height:1.45 !important;
  text-align:left !important;
}
.pcqr-app.pcqr-app *,
.pcqr-app.pcqr-app *::before,
.pcqr-app.pcqr-app *::after { box-sizing:border-box !important; }

.pcqr-app.pcqr-app h1,
.pcqr-app.pcqr-app h2,
.pcqr-app.pcqr-app h3,
.pcqr-app.pcqr-app h4,
.pcqr-app.pcqr-app p { margin-top:0 !important; }

.pcqr-app.pcqr-app button,
.pcqr-app.pcqr-app input,
.pcqr-app.pcqr-app select,
.pcqr-app.pcqr-app textarea {
  font:inherit !important;
  text-transform:none !important;
  letter-spacing:normal !important;
}
.pcqr-app.pcqr-app button { cursor:pointer !important; }
.pcqr-app.pcqr-app button:disabled { cursor:not-allowed !important; opacity:.52 !important; }

.pcqr-app-header {
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:24px !important;
  margin:0 0 26px !important;
}
.pcqr-app-header-main { max-width:760px !important; }
.pcqr-eyebrow,
.pcqr-step {
  display:block !important;
  margin:0 !important;
  color:var(--pcqr-accent) !important;
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}
.pcqr-app.pcqr-app .pcqr-app-header h2 {
  margin:8px 0 10px !important;
  padding:0 !important;
  color:var(--pcqr-text) !important;
  font-size:clamp(34px,4vw,52px) !important;
  line-height:1.02 !important;
  font-weight:800 !important;
  letter-spacing:-.04em !important;
  text-transform:none !important;
}
.pcqr-app.pcqr-app .pcqr-app-header p {
  max-width:700px !important;
  margin:0 !important;
  color:var(--pcqr-muted) !important;
  font-size:16px !important;
  line-height:1.55 !important;
  font-weight:400 !important;
}
.pcqr-status-pill {
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:9px !important;
  min-height:38px !important;
  padding:9px 13px !important;
  border:1px solid #d6eadf !important;
  border-radius:999px !important;
  background:#f1fbf5 !important;
  color:#17643f !important;
  box-shadow:none !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:750 !important;
  white-space:nowrap !important;
}
.pcqr-status-dot {
  display:block !important;
  width:8px !important;
  height:8px !important;
  border-radius:50% !important;
  background:var(--pcqr-success) !important;
  box-shadow:0 0 0 4px rgba(22,130,83,.10) !important;
}

.pcqr-workspace {
  display:grid !important;
  grid-template-columns:minmax(0,1.28fr) minmax(340px,.72fr) !important;
  gap:22px !important;
  align-items:start !important;
  width:100% !important;
}
.pcqr-panel {
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid var(--pcqr-border) !important;
  border-radius:var(--pcqr-radius) !important;
  background:var(--pcqr-surface) !important;
  box-shadow:var(--pcqr-shadow) !important;
}
.pcqr-section-block {
  margin:0 !important;
  padding:25px 26px !important;
  border:0 !important;
  border-bottom:1px solid var(--pcqr-border) !important;
  background:var(--pcqr-surface) !important;
}
.pcqr-section-block:last-child { border-bottom:0 !important; }
.pcqr-section-title-row,
.pcqr-preview-head {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  margin:0 0 18px !important;
}
.pcqr-section-heading {
  display:flex !important;
  align-items:center !important;
  gap:11px !important;
}
.pcqr-step-number {
  display:grid !important;
  place-items:center !important;
  width:30px !important;
  height:30px !important;
  flex:0 0 30px !important;
  border-radius:9px !important;
  background:var(--pcqr-accent-soft) !important;
  color:var(--pcqr-accent) !important;
  font-size:11px !important;
  font-weight:800 !important;
}
.pcqr-app.pcqr-app .pcqr-section-title-row h3,
.pcqr-app.pcqr-app .pcqr-preview-head h3 {
  margin:0 !important;
  padding:0 !important;
  color:var(--pcqr-text) !important;
  font-size:18px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:-.015em !important;
  text-transform:none !important;
}

.pcqr-type-grid {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:9px !important;
  width:100% !important;
  margin:0 0 20px !important;
}
.pcqr-app.pcqr-app .pcqr-type-card {
  appearance:none !important;
  -webkit-appearance:none !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px !important;
  width:100% !important;
  min-width:0 !important;
  min-height:46px !important;
  margin:0 !important;
  padding:10px 12px !important;
  border:1px solid var(--pcqr-border) !important;
  border-radius:12px !important;
  background:#fff !important;
  background-image:none !important;
  box-shadow:none !important;
  color:#4b4753 !important;
  font-size:12px !important;
  line-height:1.15 !important;
  font-weight:700 !important;
  text-align:left !important;
  text-decoration:none !important;
  transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease !important;
}
.pcqr-app.pcqr-app .pcqr-type-card:hover {
  border-color:#c4b4d8 !important;
  background:#fcfaff !important;
  color:var(--pcqr-accent) !important;
  transform:translateY(-1px) !important;
}
.pcqr-app.pcqr-app .pcqr-type-card.is-active {
  border-color:var(--pcqr-accent) !important;
  background:var(--pcqr-accent-soft) !important;
  color:var(--pcqr-accent) !important;
  box-shadow:inset 0 0 0 1px var(--pcqr-accent) !important;
}
.pcqr-type-icon {
  display:grid !important;
  place-items:center !important;
  width:25px !important;
  height:25px !important;
  flex:0 0 25px !important;
  border-radius:7px !important;
  background:#f3f2f5 !important;
  color:currentColor !important;
}
.pcqr-type-card.is-active .pcqr-type-icon { background:#e8def3 !important; }
.pcqr-type-icon svg { width:14px !important; height:14px !important; display:block !important; fill:none !important; stroke:currentColor !important; stroke-width:1.9 !important; }

.pcqr-dynamic-fields,
.pcqr-form-grid { display:grid !important; gap:14px !important; width:100% !important; }
.pcqr-two-cols { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
.pcqr-field {
  display:grid !important;
  gap:7px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  color:#46414d !important;
  font-size:12px !important;
  line-height:1.35 !important;
  font-weight:750 !important;
}
.pcqr-field > span { display:block !important; margin:0 !important; color:#46414d !important; }
.pcqr-field small { color:var(--pcqr-muted) !important; font-size:11px !important; line-height:1.45 !important; font-weight:500 !important; }

.pcqr-app.pcqr-app .pcqr-field input[type="text"],
.pcqr-app.pcqr-app .pcqr-field input[type="url"],
.pcqr-app.pcqr-app .pcqr-field input[type="email"],
.pcqr-app.pcqr-app .pcqr-field input[type="tel"],
.pcqr-app.pcqr-app .pcqr-field input[type="password"],
.pcqr-app.pcqr-app .pcqr-field select,
.pcqr-app.pcqr-app .pcqr-field textarea,
.pcqr-app.pcqr-app .pcqr-dynamic-fields input,
.pcqr-app.pcqr-app .pcqr-dynamic-fields select,
.pcqr-app.pcqr-app .pcqr-dynamic-fields textarea {
  appearance:auto !important;
  width:100% !important;
  min-width:0 !important;
  min-height:44px !important;
  height:auto !important;
  margin:0 !important;
  padding:10px 12px !important;
  border:1px solid #dcd8e2 !important;
  border-radius:10px !important;
  outline:0 !important;
  background:#fff !important;
  background-image:none !important;
  box-shadow:none !important;
  color:#1f1d23 !important;
  font-size:13px !important;
  line-height:1.4 !important;
  font-weight:450 !important;
  text-align:left !important;
  text-transform:none !important;
}
.pcqr-app.pcqr-app .pcqr-field textarea,
.pcqr-app.pcqr-app .pcqr-dynamic-fields textarea { min-height:88px !important; resize:vertical !important; }
.pcqr-app.pcqr-app .pcqr-field input:focus,
.pcqr-app.pcqr-app .pcqr-field select:focus,
.pcqr-app.pcqr-app .pcqr-field textarea:focus,
.pcqr-app.pcqr-app .pcqr-dynamic-fields input:focus,
.pcqr-app.pcqr-app .pcqr-dynamic-fields select:focus,
.pcqr-app.pcqr-app .pcqr-dynamic-fields textarea:focus {
  border-color:var(--pcqr-accent) !important;
  box-shadow:0 0 0 3px rgba(77,41,128,.09) !important;
}
.pcqr-color-field { display:grid !important; grid-template-columns:46px minmax(0,1fr) !important; gap:8px !important; }
.pcqr-app.pcqr-app .pcqr-color-field input[type="color"] {
  appearance:none !important;
  width:46px !important;
  height:44px !important;
  min-height:44px !important;
  margin:0 !important;
  padding:4px !important;
  border:1px solid #dcd8e2 !important;
  border-radius:10px !important;
  background:#fff !important;
  box-shadow:none !important;
}
.pcqr-check-row {
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  margin:14px 0 0 !important;
  color:#46414d !important;
  font-size:12px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
}
.pcqr-app.pcqr-app .pcqr-check-row input {
  appearance:auto !important;
  width:16px !important;
  height:16px !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  accent-color:var(--pcqr-accent) !important;
}
.pcqr-logo-box {
  display:flex !important;
  align-items:center !important;
  gap:11px !important;
  width:100% !important;
  margin:18px 0 0 !important;
  padding:13px 14px !important;
  border:1px dashed #d6d1dc !important;
  border-radius:12px !important;
  background:var(--pcqr-surface-soft) !important;
}
.pcqr-logo-box > div { min-width:0 !important; margin-right:auto !important; }
.pcqr-logo-box strong { display:block !important; color:var(--pcqr-text) !important; font-size:12px !important; line-height:1.3 !important; font-weight:800 !important; }
.pcqr-logo-box p { margin:3px 0 0 !important; color:var(--pcqr-muted) !important; font-size:11px !important; line-height:1.4 !important; }
.pcqr-app.pcqr-app .pcqr-upload-button {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:36px !important;
  margin:0 !important;
  padding:8px 11px !important;
  border:1px solid #d8cbe8 !important;
  border-radius:9px !important;
  background:#f2edf8 !important;
  color:var(--pcqr-accent) !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:800 !important;
  cursor:pointer !important;
  white-space:nowrap !important;
}
.pcqr-app.pcqr-app .pcqr-link-button {
  appearance:none !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--pcqr-accent) !important;
  font-size:11px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  text-decoration:none !important;
}
.pcqr-hidden { display:none !important; }
.pcqr-range-field { margin-top:15px !important; }
.pcqr-app.pcqr-app .pcqr-range-field input[type="range"] { width:100% !important; min-height:0 !important; margin:0 !important; padding:0 !important; accent-color:var(--pcqr-accent) !important; }

.pcqr-preview-panel {
  position:sticky !important;
  top:24px !important;
  padding:24px !important;
  overflow:visible !important;
}
.admin-bar .pcqr-preview-panel { top:56px !important; }
.pcqr-preview-head { margin-bottom:16px !important; }
.pcqr-preview-kicker { display:block !important; margin-bottom:5px !important; color:var(--pcqr-accent) !important; font-size:10px !important; font-weight:800 !important; letter-spacing:.1em !important; text-transform:uppercase !important; }
.pcqr-qr-stage {
  display:grid !important;
  place-items:center !important;
  width:100% !important;
  min-height:330px !important;
  margin:0 !important;
  padding:25px !important;
  overflow:hidden !important;
  border:1px solid var(--pcqr-border) !important;
  border-radius:15px !important;
  background-color:#fafafa !important;
  background-image:linear-gradient(45deg,#f0eef3 25%,transparent 25%),linear-gradient(-45deg,#f0eef3 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f0eef3 75%),linear-gradient(-45deg,transparent 75%,#f0eef3 75%) !important;
  background-size:18px 18px !important;
  background-position:0 0,0 9px,9px -9px,-9px 0 !important;
}
.pcqr-qr-canvas { display:grid !important; place-items:center !important; width:min(100%,280px) !important; margin:0 !important; }
.pcqr-qr-canvas canvas,
.pcqr-qr-canvas svg { display:block !important; width:100% !important; max-width:280px !important; height:auto !important; margin:0 !important; border-radius:8px !important; }
.pcqr-qr-meta {
  display:grid !important;
  grid-template-columns:88px minmax(0,1fr) !important;
  gap:9px !important;
  width:100% !important;
  margin:14px 0 !important;
}
.pcqr-qr-meta > div {
  min-width:0 !important;
  margin:0 !important;
  padding:10px 11px !important;
  border:1px solid var(--pcqr-border) !important;
  border-radius:10px !important;
  background:#fff !important;
}
.pcqr-qr-meta span { display:block !important; margin:0 0 3px !important; color:var(--pcqr-muted) !important; font-size:10px !important; line-height:1.2 !important; font-weight:600 !important; }
.pcqr-qr-meta strong { display:block !important; overflow:hidden !important; color:var(--pcqr-text) !important; font-size:11px !important; line-height:1.35 !important; font-weight:750 !important; text-overflow:ellipsis !important; white-space:nowrap !important; }
.pcqr-app.pcqr-app .pcqr-primary-button,
.pcqr-app.pcqr-app .pcqr-secondary-button {
  appearance:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:46px !important;
  margin:0 !important;
  padding:10px 14px !important;
  border-radius:11px !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:800 !important;
  text-align:center !important;
  text-decoration:none !important;
  box-shadow:none !important;
}
.pcqr-app.pcqr-app .pcqr-primary-button {
  border:1px solid var(--pcqr-accent) !important;
  background:var(--pcqr-accent) !important;
  background-image:none !important;
  color:#fff !important;
}
.pcqr-app.pcqr-app .pcqr-primary-button:hover { border-color:var(--pcqr-accent-hover) !important; background:var(--pcqr-accent-hover) !important; color:#fff !important; }
.pcqr-app.pcqr-app .pcqr-secondary-button {
  margin-top:9px !important;
  border:1px solid var(--pcqr-border) !important;
  background:#fff !important;
  background-image:none !important;
  color:#343039 !important;
}
.pcqr-app.pcqr-app .pcqr-secondary-button:hover { background:#f8f7fa !important; border-color:#d8d3dd !important; color:#211e25 !important; }
.pcqr-message { min-height:16px !important; margin:-2px 0 9px !important; color:var(--pcqr-danger) !important; font-size:11px !important; line-height:1.35 !important; font-weight:650 !important; }
.pcqr-message.is-success { color:var(--pcqr-success) !important; }
.pcqr-info-note {
  margin:16px 0 0 !important;
  padding:12px 13px !important;
  border:1px solid #ebe8ef !important;
  border-radius:11px !important;
  background:#f8f7fa !important;
}
.pcqr-info-note strong { display:block !important; color:var(--pcqr-text) !important; font-size:11px !important; line-height:1.3 !important; font-weight:800 !important; }
.pcqr-info-note p { margin:4px 0 0 !important; color:var(--pcqr-muted) !important; font-size:10.5px !important; line-height:1.5 !important; }
.pcqr-password-row { position:relative !important; width:100% !important; }
.pcqr-password-row input { padding-right:70px !important; }
.pcqr-app.pcqr-app .pcqr-password-toggle {
  position:absolute !important;
  top:50% !important;
  right:10px !important;
  transform:translateY(-50%) !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--pcqr-accent) !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:800 !important;
}
.pcqr-inline-note { margin:9px 0 0 !important; color:var(--pcqr-muted) !important; font-size:11px !important; line-height:1.45 !important; }

@media (max-width:960px) {
  .pcqr-workspace { grid-template-columns:1fr !important; }
  .pcqr-preview-panel { position:static !important; }
  .pcqr-type-grid { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
  .pcqr-qr-stage { min-height:300px !important; }
}
@media (max-width:720px) {
  .pcqr-app.pcqr-app { margin:24px auto 42px !important; padding:0 12px !important; }
  .pcqr-app-header { align-items:flex-start !important; flex-direction:column !important; gap:13px !important; }
  .pcqr-app.pcqr-app .pcqr-app-header h2 { font-size:36px !important; }
  .pcqr-status-pill { white-space:normal !important; }
  .pcqr-type-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .pcqr-two-cols { grid-template-columns:1fr !important; }
  .pcqr-section-block,
  .pcqr-preview-panel { padding:20px !important; }
  .pcqr-logo-box { align-items:flex-start !important; flex-wrap:wrap !important; }
  .pcqr-logo-box > div { width:100% !important; }
}
@media (max-width:420px) {
  .pcqr-app.pcqr-app .pcqr-app-header h2 { font-size:31px !important; }
  .pcqr-section-block,
  .pcqr-preview-panel { padding:17px !important; }
  .pcqr-type-grid { gap:7px !important; }
  .pcqr-app.pcqr-app .pcqr-type-card { padding:9px 10px !important; }
  .pcqr-qr-stage { min-height:270px !important; padding:18px !important; }
}
