:root{
  --absl-pc-primary:#0D6EFD;
  --absl-pc-accent:#6C757D;
  --absl-pc-label-w:600;
  --absl-pc-br:12px;
  --absl-pc-ir:12px;
  --absl-pc-shadow: 0 3px 6px rgba(0,0,0,.06), 0 6px 12px rgba(0,0,0,.08);
}
.absl-pc-no-scroll{overflow:hidden}
/* Button */
button.absl-pc-open{
  background: var(--absl-pc-primary);
  color:#fff;border:0;border-radius:var(--absl-pc-br);
  padding:12px 18px; font-size:16px; font-weight:600; cursor:pointer;
  box-shadow: var(--absl-pc-shadow);
  transition: transform .06s ease, box-shadow .2s ease, filter .2s ease;
}
button.absl-pc-open:hover{ filter:brightness(1.02); transform:translateY(-1px); }
button.absl-pc-open:active{ transform:translateY(0); }
/* Modal */
#absl-pc-modal{ position:fixed; inset:0; display:none; z-index:999999; }
#absl-pc-modal.show{ display:block; }
.absl-pc-overlay{ position:absolute; inset:0; background:rgba(15,23,42,.25); backdrop-filter:saturate(120%) blur(2px); }
.absl-pc-shell{ position:relative; width:100%; height:100%; display:flex; align-items:center; justify-content:center; padding:20px; }
.absl-pc-content{
  background:#fff; color:#111827; width:min(680px, 92vw); border-radius:20px;
  box-shadow: var(--absl-pc-shadow); overflow:hidden;
}
.absl-pc-head{ padding:20px 24px 8px 24px; border-bottom:1px solid #f1f5f9; }
.absl-pc-heading{ margin:0; font-size:22px; font-weight:700; letter-spacing:.2px; }
.absl-pc-subtext{ margin:6px 0 0; color:#475569; font-size:14px; }
.absl-pc-close{
  position:absolute; right:20px; top:14px; background:#fff; border:1px solid #e2e8f0; width:36px; height:36px; border-radius:12px;
  display:grid; place-items:center; cursor:pointer; transition:background .2s ease, transform .06s ease;
}
.absl-pc-close:hover{ background:#f8fafc }
.absl-pc-close:active{ transform:scale(.98) }
.absl-pc-body{ padding:20px 24px 24px; }
.absl-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:640px){ .absl-grid{ grid-template-columns:1fr; } }
.absl-pc-label{ font-weight:var(--absl-pc-label-w); font-size:13px; color:#0f172a; margin-bottom:6px; }
.absl-pc-input, .absl-pc-textarea{
  width:100%; border:1px solid #e2e8f0; background:#fff; color:#0f172a;
  border-radius:var(--absl-pc-ir); padding:12px 14px; outline:none; transition:border-color .15s ease, box-shadow .15s ease;
}
.absl-pc-input:focus, .absl-pc-textarea:focus{ border-color: var(--absl-pc-primary); box-shadow:0 0 0 3px rgba(13,110,253,.12); }
.absl-pc-textarea{ min-height:96px; resize:vertical; }
.absl-actions{ display:flex; gap:12px; align-items:center; margin-top:10px; }
.absl-pc-submit{
  background: var(--absl-pc-primary); color:#fff; border:0; border-radius:var(--absl-pc-br);
  padding:12px 18px; font-size:16px; font-weight:700; cursor:pointer; box-shadow: var(--absl-pc-shadow);
}
.absl-pc-submit.loading{ opacity:.7; cursor:progress; }
.absl-pc-result{ display:none; font-size:14px; }
.absl-pc-result.ok{ color:#16a34a; }
.absl-pc-result.err{ color:#b91c1c; }
