:root{
  --gdd2-gap:.9rem;
  --gdd2-line:#e5e7eb;
  --gdd2-muted:#6b7280;
  --gdd2-danger:#b91c1c;
  --gdd2-bg:#ffffff;
}
.gdd2-wrap{max-width: 980px; margin: 0 auto;}
.gdd2-form{display:grid;gap:var(--gdd2-gap);}
.gdd2-step{border:1px solid var(--gdd2-line); border-radius:.6rem; padding:1rem; background:var(--gdd2-bg);}
.gdd2-step h2{margin:.25rem 0 .5rem; font-size:1.05rem; border-bottom:1px solid var(--gdd2-line); padding-bottom:.35rem;}
.gdd2-grid{display:grid; gap:var(--gdd2-gap); grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));}
.gdd2-form label{display:grid; gap:.35rem; font-weight:600;}
.gdd2-form input, .gdd2-form textarea, .gdd2-form select{width:100%; box-sizing:border-box; padding:.55rem .65rem; border:1px solid var(--gdd2-line); border-radius:.5rem; font-weight:400;}
.gdd2-form .help{color:var(--gdd2-muted); margin:.0 0 .5rem;}
.req{color:var(--gdd2-danger); margin-left:.25rem;}
.is-invalid{border-color:var(--gdd2-danger) !important; outline: 2px solid rgba(185,28,28,.2);}
.gdd2-actions{display:flex; align-items:center; gap:.75rem; margin-top:.25rem;}
.gdd2-errors .error-msg{background:#fef2f2; color:#7f1d1d; border:1px solid #fecaca; padding:.6rem .75rem; border-radius:.5rem;}
.gdd2-repeater .rep-grid{display:grid; grid-template-columns: 1fr 1fr 1fr auto; gap:.5rem; align-items:center; margin:.35rem 0;}
.gdd2-repeater-arch .arch-grid{display:grid; grid-template-columns: 1fr 1fr 1fr auto; gap:.5rem; align-items:start; margin:.35rem 0;}
.gdd2-repeater-arch .arch-editor-row{grid-column: 1 / -2; display:grid; gap:.4rem; margin-top:.4rem;}
.wys-toolbar{display:flex; gap:.4rem; flex-wrap:wrap;}
.wys-area{min-height:96px; border:1px solid var(--gdd2-line); border-radius:.5rem; padding:.55rem .65rem; background:#fff;}
.wys-area:empty:before{content: attr(data-placeholder); color: var(--gdd2-muted);}
.gdd2-result-actions{display:flex; gap:.5rem; margin: .5rem 0;}
.code-output{width:100%; box-sizing:border-box;}
.cond[hidden]{display:none !important;}
