.cgpt-wrap { border:1px solid #e2e8f0; padding:14px; border-radius:8px; max-width:700px; }
.cgpt-wrap textarea { width:100%; min-height:120px; }
.cgpt-wrap .small { font-size:12px; color:#475569; }
.cgpt-output { white-space:pre-wrap; background:#f8fafc; padding:10px; border-radius:6px; margin-top:10px; }
.cgpt-error { color:#b91c1c; margin-top:6px; }
.cgpt-spinner { display:none; width:14px; height:14px; border:2px solid #94a3b8; border-top-color:transparent; border-radius:50%; animation: cgptspin 0.8s linear infinite; vertical-align:middle; margin-left:8px; }
@keyframes cgptspin { to { transform: rotate(360deg); } }

.cgpt-contact-bar { display:none; background:#fff7ed; border:1px dashed #f59e0b; padding:10px; border-radius:6px; margin-top:12px; }
.cgpt-contact-wrap { display:none; background:#f8fafc; border:1px solid #e2e8f0; padding:10px; border-radius:6px; margin-top:8px; }
.cgpt-contact-row { display:flex; gap:8px; margin:8px 0; }
.cgpt-contact-row .fld { flex:1; }
.cgpt-contact-wrap input[type="text"], .cgpt-contact-wrap input[type="email"], .cgpt-contact-wrap textarea { width:100%; }
.cgpt-contact-error { color:#b91c1c; margin-top:6px; }
.cgpt-contact-ok { color:#166534; margin-top:6px; }

.cgpt-feedback { margin-top:10px; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
