.egpt-req { background:#fff; padding:1rem; border:1px solid #e9ecef; border-radius:12px; }
.egpt-req-title { margin:0 0 .75rem; }
.egpt-row { margin-bottom:.6rem; }
.egpt-row label { display:block; font-weight:600; margin-bottom:.25rem; }
.egpt-row input, .egpt-row select, .egpt-row textarea { width:100%; padding:.55rem .6rem; border:1px solid #ced4da; border-radius:8px; }
.egpt-grid2 { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.egpt-grid3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; }
.egpt-cta { margin:.6rem 0; text-align:left; }
.egpt-btn { display:inline-block; padding:.55rem 1rem; border:0; border-radius:999px; cursor:pointer; }
.egpt-btn-primary { background:#00c2d6; color:#fff; width:100%; font-weight:700; }
.egpt-btn-secondary { background:#e9f7f9; color:#0a6; font-weight:600; }
.egpt-card { border:1px solid #e9ecef; border-radius:12px; margin:.75rem 0; overflow:hidden; }
.egpt-card-header { display:flex; justify-content:space-between; align-items:center; padding:.5rem .75rem; background:#f8f9fa; }
.egpt-card-body { padding:.75rem; }
.egpt-pill { background:#00c2d6; color:#fff; border-radius:999px; padding:.2rem .6rem; font-weight:700; }
.egpt-product .egpt-remove { background:transparent; border:0; font-size:1.4rem; line-height:1; cursor:pointer; color:#888; }
.egpt-note-small { font-size:.85rem; color:#666; margin-bottom:.25rem; }
.egpt-checkbox { display:flex; align-items:center; gap:.4rem; }
.egpt-actions { margin-top:.8rem; }
.egpt-msg { margin-top:.6rem; }
.egpt-msg.ok { color:#0a7a31; }
.egpt-msg.err { color:#a01414; }
@media (max-width:768px){
  .egpt-grid2, .egpt-grid3 { grid-template-columns:1fr; }
}

.egpt-msg.err { display:block; color:#b00020; background:#fde7e9; padding:.75rem; border-radius:.5rem; }
.egpt-msg.ok  { display:block; color:#0b5; background:#e7f8ef; padding:.75rem; border-radius:.5rem; }
.egpt-field-error { color:#b00020; font-size:.85rem; margin-top:.25rem; }
.egpt-invalid { border-color:#b00020 !important; }
