.pfm-feedback-launcher {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 9998;
}
.pfm-feedback-button,
.pfm-submit-button {
    appearance: none;
    border: 0;
    border-radius: 999px;
    background: #111827;
    color: #ffffff;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    padding: 14px 18px;
}
.pfm-feedback-button:hover,
.pfm-submit-button:hover { opacity: 0.92; }
.pfm-modal[hidden] { display: none; }
.pfm-modal { position: fixed; inset: 0; z-index: 9999; }
.pfm-modal__overlay { position: absolute; inset: 0; background: rgba(17,24,39,0.6); }
.pfm-modal__dialog { position: relative; width: min(92vw, 560px); margin: 8vh auto 0; background: #ffffff; border-radius: 16px; box-shadow: 0 20px 60px rgba(0,0,0,0.2); padding: 24px; }
.pfm-modal__close { position: absolute; top: 12px; right: 12px; border: 0; background: transparent; color: #374151; cursor: pointer; font-size: 28px; line-height: 1; }
.pfm-form-heading { margin: 0 0 18px; color: #000000 !important; font-size: 28px; line-height: 1.2; }
.pfm-form-row { margin-bottom: 16px; }
.pfm-form-row label { display: block; margin-bottom: 6px; color: #111827; font-size: 14px; font-weight: 600; }
.pfm-form-row input, .pfm-form-row textarea, .pfm-form-row select { width: 100%; border: 1px solid #d1d5db; border-radius: 10px; box-sizing: border-box; font-size: 14px; padding: 10px 12px; background:#fff; color:#111827; }
.pfm-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pfm-form-actions { margin-top: 12px; }
.pfm-form-message { min-height: 20px; margin: 12px 0 0; font-size: 14px; }
.pfm-form-message.is-success { color: #166534; }
.pfm-form-message.is-error { color: #b91c1c; }
.pfm-honeypot { position: absolute; left: -9999px; opacity: 0; pointer-events: none; }
@media (max-width: 640px) {
    .pfm-modal__dialog { margin-top: 4vh; padding: 20px; }
    .pfm-form-grid { grid-template-columns: 1fr; }
}
