.fgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 12px; margin-bottom: 12px; }
textarea { resize: vertical; }
.pats { border: 0; padding: 0; margin: 0 0 12px; display: flex; flex-wrap: wrap; gap: 4px 16px; }
.chk { display: flex; align-items: center; gap: 8px; min-height: 44px; }
.chk input { width: 24px; height: 24px; min-height: 24px; min-width: 24px; flex: 0 0 auto; }
.cgrid { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 140px), 1fr)); gap: 8px; max-height: 320px; overflow-y: auto; }
.cgrid button { width: 100%; text-align: left; overflow-wrap: anywhere; }
.cgrid button[aria-pressed="true"] { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
.slist { grid-template-columns: 1fr; }
.list { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 8px; }
.list li { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 12px; }
.list .nm { font-weight: 700; overflow-wrap: anywhere; margin-bottom: 8px; }
.warn-box { background: var(--chip); color: var(--warn); border: 1px solid var(--warn); border-radius: 8px; padding: 8px 12px; }
.flush { margin-top: 0; }
