[hidden]{ display:none !important; }
.gp-btn{ background:#03847d;color:#fff;border:none;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:14px }
.gp-btn.gp-danger{ background:#c0392b }
.gp-modal{ position:fixed;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;z-index:9999; }
.gp-modal-content{ background:#fff;padding:18px;border-radius:8px;max-width:560px;width:95%;position:relative;box-shadow:0 6px 24px rgba(0,0,0,0.2); }
.gp-close{ position:absolute;right:10px;top:8px;background:transparent;border:0;font-size:22px;cursor:pointer; }
.gp-form p{ margin:8px 0; }
.gp-form input[type="text"], .gp-form select, .gp-form textarea{ width:100%;padding:8px;border:1px solid #ddd;border-radius:4px; }
.gp-product-field{ margin:16px 0;padding:12px;border:1px dashed #ccc;border-radius:8px;background:#fafafa; }
.gp-preview{ margin-top:10px }
.gp-preview-box{ padding:10px;border:1px solid #e3e3e3;border-radius:6px;background:#fff }
.gp-kv{ list-style:none;margin:8px 0;padding:0 }
.gp-kv li{ display:flex;gap:6px;align-items:center;margin:4px 0 }
.gp-kv li span:first-child{ min-width:130px;font-weight:600 }
.gp-table{ width:100%; border-collapse: collapse; margin-top:10px; font-size:14px }
.gp-table th, .gp-table td{ border:1px solid #eee; padding:8px; text-align:right }
.gp-table thead th{ background:#f6f8fa; font-weight:600 }