* { box-sizing: border-box; margin: 0; padding: 0; -webkit-tap-highlight-color: transparent; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background: var(--bg);
  color: var(--text);
  font-size: var(--font-size);
  min-height: 100vh;
  transition: background 0.3s, color 0.3s;
  overflow-x: hidden;
}
button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; font-size: inherit; }
input, textarea, select {
  font-family: inherit; font-size: inherit;
  background: var(--surface-2); color: var(--text);
  border: 1px solid var(--border); border-radius: var(--radius-sm);
  padding: 10px 12px; width: 100%; outline: none;
  transition: border 0.2s, box-shadow 0.2s;
}
input:focus, textarea:focus, select:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(79,70,229,0.2); }
label { display: block; font-size: 13px; color: var(--text-muted); margin-bottom: 4px; font-weight: 500; }
.field { margin-bottom: 14px; }

/* M2.6.2 — Platform Layout Service (CardEditor.renderForm(), FieldDefinition.group): несколько
   полей с одинаковым group рендерятся в одну строку вместо стопки полноширинных .field. */
.field-group { display: flex; gap: 8px; }
.field-group .field { flex: 1; margin-bottom: 14px; min-width: 0; }
