.gds-wrap { max-width: 960px; margin: 20px auto; }
.gds-instructions { padding: 12px 16px; background: #f7f7f7; border-left: 4px solid #999; margin-bottom: 16px; }
.gds-canvas-holder { max-width: 100%; overflow: auto; border: 1px solid #ddd; background: #fafafa; margin-bottom: 12px; }
.gds-area-tabs { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 12px; }
.gds-area-tab { border:1px solid #ccc; background:#fff; padding:8px 12px; cursor:pointer; border-radius:4px; }
.gds-area-tab.is-active { border-color:#111; background:#111; color:#fff; }
.gds-controls { display: flex; gap: 12px; flex-wrap: wrap; align-items: stretch; margin-bottom: 16px; }
.gds-area-upload { display:none; padding:10px 12px; border:1px solid #ddd; background:#fafafa; font-weight:600; }
.gds-area-upload.is-active { display:block; }
.gds-area-upload input { display:block; margin-top:6px; }
.gds-form p { margin: 0 0 12px; }
.gds-form label { display: block; font-weight: 600; }
.gds-form input[type="text"], .gds-form input[type="number"], .gds-form textarea { width: 100%; max-width: 520px; display:block; margin-top: 4px; }
.gds-form span { color: #b00020; }
.gds-message { margin-top: 12px; font-weight: 600; }
.gds-message.gds-error { color: #b00020; }
.gds-message.gds-success { color: #087b28; }
.gds-submit[disabled] { opacity: .6; cursor: not-allowed; }
.gds-turnstile { margin: 14px 0; }
.gds-form { width: 100%; }
.gds-form input, .gds-form textarea, .gds-form button { box-sizing: border-box; }
