.co-personalizer { margin: 20px 0; }
.co-card { border: 1px solid #d9d9df; border-radius: 14px; padding: 18px; background: #fff; }
.co-card h3 { margin-top: 0; }
.co-field { margin-bottom: 14px; }
.co-field label { display:block; font-weight:600; margin-bottom:6px; }
.co-field input[type="text"], .co-field input[type="file"], .co-field select, .co-field textarea {
  width:100%; box-sizing:border-box; padding:10px;
}
.co-preview-wrap { margin: 16px 0; }
.co-preview-title { font-weight:600; margin-bottom:8px; }
.co-preview {
  min-height:220px; border:1px dashed #bbb; border-radius:12px; padding:14px;
  display:flex; flex-direction:column; justify-content:center; align-items:center; gap:12px; background:#fafafa;
}
.co-preview img { max-width:180px; max-height:140px; object-fit:contain; border-radius:8px; }
.co-preview-text { font-size:28px; line-height:1.2; text-align:center; }

.co-font-script { font-family:cursive; }
.co-font-modern { font-family:Arial, Helvetica, sans-serif; letter-spacing:1px; }
.co-font-serif { font-family:Georgia, "Times New Roman", serif; }
.co-font-sans { font-family:Arial, Helvetica, sans-serif; }
.co-font-elegant-serif { font-family:Georgia, "Times New Roman", serif; letter-spacing:.5px; font-style:italic; }
.co-font-classic-roman { font-family:"Times New Roman", Times, serif; text-transform:uppercase; letter-spacing:1.5px; }
.co-font-minimal-sans { font-family:Helvetica, Arial, sans-serif; font-weight:300; letter-spacing:2px; }
.co-font-bold-block { font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; text-transform:uppercase; letter-spacing:1px; }
.co-font-handwritten { font-family:"Comic Sans MS", "Bradley Hand", cursive; }
.co-font-signature { font-family:"Brush Script MT", cursive; font-size:34px; }
.co-font-monogram { font-family:Georgia, serif; text-transform:uppercase; letter-spacing:4px; font-weight:700; }
.co-font-stencil { font-family:"Courier New", monospace; text-transform:uppercase; letter-spacing:2px; }

.co-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.co-actions button { padding:12px 16px; border:0; border-radius:10px; cursor:pointer; }
.co-status { font-size:14px; }
.co-status.ok { color:#0a7a24; }
.co-status.error { color:#b00020; }
.co-approval label { font-weight:400; }
