/* Schema generator */
.sg-section { border: 1px solid var(--line); border-radius: var(--r); padding: 16px; display: grid; gap: 14px; margin: 0; min-width: 0; }
.sg-section > legend { font: 700 15px var(--font-body); padding: 0 6px; }
.sg-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.sg-fields > .is-wide { grid-column: 1 / -1; }
@media (max-width: 640px) { .sg-fields { grid-template-columns: 1fr; } }
.sg-badge { font-size: 11.5px; font-weight: 700; letter-spacing: .02em; color: var(--muted); background: var(--paper); border: 1px solid var(--line); border-radius: 999px; padding: 1px 8px; align-self: center; white-space: nowrap; }
.sg-badge.is-req { color: var(--err); background: var(--err-soft); border-color: transparent; }
.sg-item { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r); padding: 14px; display: grid; gap: 12px; }
.sg-item-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-weight: 700; font-size: 14px; }
.sg-days { display: flex; flex-wrap: wrap; gap: 6px 12px; border: 0; padding: 0; margin: 0; }
.sg-days legend { font-weight: 650; font-size: 14px; margin-bottom: 6px; padding: 0; }
.sg-days .check { font-size: 14px; }
.sg-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.sg-checks li { display: grid; grid-template-columns: 18px 1fr; gap: 8px; font-size: 14px; line-height: 1.45; color: var(--ink-2); }
.sg-checks .icon { width: 18px; height: 18px; margin-top: 1px; }
.sg-checks .is-err .icon { color: var(--err); }
.sg-checks .is-warn .icon { color: var(--warn); }
.sg-checks .is-ok .icon { color: var(--ok); }
.sg-out-title { margin: 0; }
.sg-fields .textarea { min-height: 0; }
